JkxlExcel.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.jeeplus.modules.sg.util;
  2. import com.jeeplus.common.utils.excel.ImportExcel;
  3. import com.jeeplus.modules.sg.entity.JkxlData;
  4. import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
  5. import org.springframework.web.multipart.MultipartFile;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. public class JkxlExcel {
  10. public static List<JkxlData> getData(MultipartFile file,Double[] rate) throws IOException, InvalidFormatException {
  11. ImportExcel importExcel = new ImportExcel(file,1,3);
  12. List<JkxlData> list = new ArrayList<>();
  13. int lastRow = importExcel.getLastDataRowNum();
  14. int[] row = new int[6];
  15. for(int i=0;i<lastRow;i++){
  16. String type = importExcel.getValue(i+1,2);
  17. if(type.equals("1 基础工程")){
  18. row[0] = i+1;
  19. }
  20. if(type.equals("2 杆塔工程")){
  21. row[1] = i+1;
  22. }
  23. if(type.equals("3 接地工程")){
  24. row[2] = i+1;
  25. }
  26. if(type.equals("4 架线工程")){
  27. row[3] = i+1;
  28. }
  29. if(type.equals("5 附件安装工程")){
  30. row[4] = i+1;
  31. }
  32. if(type.equals("6 辅助工程")){
  33. row[5] = i+1;
  34. }
  35. }
  36. for(int i=0;i<6;i++){
  37. JkxlData jkxlData = new JkxlData();
  38. Double originalRgCost = importExcel.getDouble(row[i],13);
  39. Double rgCost = originalRgCost/(1+rate[0]);
  40. Double originalCbrCost = importExcel.getDouble(row[i],14);
  41. Double cbrCost = originalCbrCost/(1+rate[1]);
  42. Double originalFbrCost = importExcel.getDouble(row[i],15);
  43. Double fbrCost = originalFbrCost/(1+rate[1]);
  44. Double originalJxrCost = importExcel.getDouble(row[i],17);
  45. Double jxCost = originalJxrCost/(1+rate[2]);
  46. jkxlData.setOriginalTotalCost(importExcel.getDouble(row[i],12));
  47. jkxlData.setOriginalRgCost(originalRgCost);
  48. jkxlData.setRgCost(rgCost);
  49. jkxlData.setOriginalCbrCost(originalCbrCost);
  50. jkxlData.setCbrCost(cbrCost);
  51. jkxlData.setOriginalFbrCost(originalFbrCost);
  52. jkxlData.setFbrCost(fbrCost);
  53. jkxlData.setOriginalJxCost(originalJxrCost);
  54. jkxlData.setJxCost(jxCost);
  55. list.add(jkxlData);
  56. }
  57. return list;
  58. }
  59. }