analyze_ref.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const XLSX = require('C:/tmp_xlsx/node_modules/xlsx');
  2. const wb = XLSX.readFile('E:/anKeYuan-largeScreen-9600/test_case/test_case_new.xlsx', {cellStyles: true});
  3. const ws = wb.Sheets[wb.SheetNames[0]];
  4. const data = XLSX.utils.sheet_to_json(ws, {header:1});
  5. // 颜色与测试类型映射
  6. const colorMap = {};
  7. for (let i = 1; i < data.length; i++) {
  8. const r = i + 1;
  9. const cell = ws['A' + r];
  10. const typeCell = ws['D' + r];
  11. if (cell && cell.s && typeCell) {
  12. const color = cell.s.fgColor && cell.s.fgColor.rgb;
  13. const type = typeCell.v || typeCell.w || '';
  14. if (color && type) {
  15. if (!colorMap[color]) colorMap[color] = {};
  16. colorMap[color][type] = (colorMap[color][type] || 0) + 1;
  17. }
  18. }
  19. }
  20. console.log('颜色与测试类型映射:', JSON.stringify(colorMap, null, 2));
  21. // 优先级分布
  22. const priorities = {};
  23. for (let i = 1; i < data.length; i++) {
  24. const cell = ws['H' + (i + 1)];
  25. if (cell) priorities[cell.v || cell.w] = (priorities[cell.v || cell.w] || 0) + 1;
  26. }
  27. console.log('优先级分布:', JSON.stringify(priorities));
  28. // 看列宽(实际像素宽度信息)从文件本身提取(xlsx不保存列宽)
  29. // 看字体/对齐等更多样式
  30. const colCell = ws['A1'];
  31. console.log('\n标题行A1完整cell:', JSON.stringify(colCell));
  32. const dataCell = ws['C2'];
  33. console.log('数据行C2完整cell:', JSON.stringify(dataCell));
  34. // 打印示例参考行完整内容
  35. console.log('\n参考行1完整:', JSON.stringify(data[1]));
  36. console.log('参考行2完整:', JSON.stringify(data[2]));
  37. console.log('参考行6完整(异常类型):', JSON.stringify(data[6]));
  38. console.log('参考行8完整(边界类型):', JSON.stringify(data[8]));