Commit 677768a9 by chenjinjing

no message

parent fce2ea1b
......@@ -116,10 +116,10 @@ export function planarArrBecomeListData(dataList, titleInY = false) {
if (!titleInY) {
let dataTitle = dataList[0];
for (let y = 1; y < dataList.length; y++) {
let subValue = dataList[y];
let subValueList = dataList[y];
for (let x = 0; x < subValue.length; x++){
let value = subValue[x];
for (let x = 0; x < subValueList.length; x++){
let value = subValueList[x];
let key = dataTitle[x];
if ( !result[x] ) result[x].push({key, values:[] });
result[x].values.push(value);
......@@ -128,10 +128,10 @@ export function planarArrBecomeListData(dataList, titleInY = false) {
} else {
for (let y = 0; y < dataList.length; y++) {
let subValue = dataList[y];
let subValueList = dataList[y];
result.push({
key:subValue[0],
values:subValue.slice(1, subValue.length)
key:subValueList[0],
values:subValueList.slice(1, subValueList.length)
})
}
}
......@@ -140,18 +140,73 @@ export function planarArrBecomeListData(dataList, titleInY = false) {
}
/**
* analysisExcelDataOfList 将excel解出来的数据块按需求解析成可用数据
* @param dataList excel解出来的数据 [[x, y, name], [x值, y值, name值], [x, y, name], [x, y, name]] or
* [[x, a的x, b的x, c的x], [y, a的y, b的y, c的y ], [name, a的name, b的name, c的name] ]
* @param titleInY 第一个表头数据是否横向排列
* @returns 返回 [{x:a的x, y:a的y, name:a的name}, {x:b的x, y:b的y, name:b的name}, {x:c的x, y:c的y, name:c的name} ]
*/
export function analysisExcelDataOfList(dataList, titleInY = true) {
let result = [];
if (!titleInY) {//在y轴上排列
for (let i = 1; i < dataList.length; i++) {
let itemList = dataList[i];//[1,5,"测试数据"]
let x = itemList[0];
let y = itemList[1];
let name = itemList[2] || "";
if (isNaN(x) || isNaN(y) ) continue;
result.push({ x, y, name});
}
} else {
for (let i = 0; i < dataList.length; i++) {
let list = [];
let subList = dataList[i]; //[x, a的x, b的x, c的x]
let keys = subList[0]; //x
for (let x = 1; x < subList.length; x++){
let itemList = {};
let addInfo:any = {};
addInfo[keys] = keys; //x
itemList[addInfo[keys]] = subList[x]; //a的x, b的x
list.push(itemList);
}
result.push(list);
}
}
return result;
}
export function analysisExcelDataOfStringList(dataList) {
let result = [];
for (let i = 0; i < dataList.length; i++) {
if (!i) continue;
let subList = dataList[i];
result.push(subList[1]);
}
return result;
}
//==================================================================================================
/**
* analysisExcelDataOfMoreObject 将excel解出来的数据块按需求解析成可用数据
* @param dataList excel解出来的数据
* @param dataList excel解出来的数据
* @param isJumpTitle 是否跳过解析表头
* @param headerInx 第一个表头数据是否横向排列
* @returns 返回 {"第一个表头数据":{"表头数据":值...} }
*/
export function analysisExcelDataOfMoreObject(dataList, headerInx?) {
export function analysisExcelDataOfMoreObject(dataList, titleInY = false) {
let result = {};
let titleList = dataList[0];
if (!headerInx) {
if (!titleInY) {
for (let y =1; y < dataList.length; y++) {
let dataTitle = dataList[y][0];
let thisData = {};
......@@ -181,65 +236,3 @@ export function planarArrBecomeListData(dataList, titleInY = false) {
return result;
}
/**
* analysisExcelDataOfList 将excel解出来的数据块按需求解析成可用数据
* @param dataList excel解出来的数据
* @param keyObject 对应关系 {dataList表头名称: 英文}
* @param headerInx 第一个表头数据是否横向排列
* @returns 返回 {"第一个表头数据":{"表头数据":值...} }
*/
export function analysisExcelDataOfList(dataList, keyObject, headerInx?) {
let result = [];
if (!headerInx) {//在y轴上排列
let titleList = dataList[0];
let indexKeyNameMap = {};
titleList.forEach( (info, index) => {
indexKeyNameMap[index + 1] = info;
});
for (let i = 1; i < dataList.length; i++) {
let onceInfo = {};
let subList = dataList[i];
subList.forEach( (info, index) => {
let key = indexKeyNameMap[index + 1];
let checkKey = keyObject[key];
onceInfo[checkKey] = info;
});
result.push(onceInfo);
}
} else {//在x轴上排列
let indexKeyNameMap = {};
dataList.forEach( (info, index) => {
indexKeyNameMap[index + 1] = info[0];
});
let dataMap = {};
for(let y = 0; y < dataList.length; y++) {
let xList = dataList[y];
for (let x = 1; x < xList.length; x++) {
if (!dataMap[x]) dataMap[x] = {};
let key = indexKeyNameMap[y + 1];
let checkKey = keyObject[key];
dataMap[x][checkKey] = xList[x];
}
}
result = Object.values(dataMap);
}
return result;
}
export function analysisExcelDataOfStringList(dataList) {
let result = [];
for (let i = 0; i < dataList.length; i++) {
if (!i) continue;
let subList = dataList[i];
result.push(subList[1]);
}
return result;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment