ExcelUtil.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.jeeplus.common.utils.sg;
  2. import com.jeeplus.common.utils.excel.ImportExcel;
  3. import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
  4. import java.text.DecimalFormat;
  5. import java.util.List;
  6. public class ExcelUtil {
  7. /**
  8. * 根据字段读取数据
  9. * @param importExcel
  10. * @param st
  11. * @param column1
  12. * @param column2
  13. * @return
  14. */
  15. public static double getDouble(ImportExcel importExcel,String st,int column1,int column2){
  16. int lastRow = importExcel.getLastDataRowNum();
  17. double d = 0.00;
  18. for(int i=0;i<lastRow;i++){
  19. String type = importExcel.getValue(i+1,column1);
  20. if(type.equals("")){
  21. continue;
  22. }
  23. if(type.equals(st)){
  24. d = importExcel.getDouble(i+1,column2);
  25. break;
  26. }
  27. }
  28. return d;
  29. }
  30. /**
  31. * 根据字段读取数据
  32. * @param importExcel 文件对象
  33. * @param sts 字段
  34. * @param column1 字段列号
  35. * @param column2 读取数据列号
  36. * @return
  37. */
  38. public static double[] getDoubleArray(ImportExcel importExcel,String[] sts,int column1,int column2){
  39. int lastRow = importExcel.getLastDataRowNum();
  40. int len = sts.length;
  41. double[] d = new double[len];
  42. for(int i=0;i<lastRow;i++){
  43. String type = importExcel.getValue(i+1,column1);
  44. if(type.equals("")){
  45. continue;
  46. }
  47. for(int j=0;j<len;j++){
  48. if(type.equals(sts[j])){
  49. d[j] = importExcel.getDouble(i+1,column2);
  50. }
  51. }
  52. }
  53. return d;
  54. }
  55. public static double[] getDoubleArray(ImportExcel importExcel,String st,int column1,int[] column2){
  56. int lastRow = importExcel.getLastDataRowNum();
  57. int len = column2.length;
  58. double[] d = new double[len];
  59. for(int i=0;i<lastRow;i++){
  60. String type = importExcel.getValue(i+1,column1);
  61. if(type.equals("")){
  62. continue;
  63. }
  64. if(type.equals(st)){
  65. for(int j=0;j<len;j++) {
  66. d[j] = importExcel.getDouble(i + 1, column2[j]);
  67. }
  68. break;
  69. }
  70. }
  71. return d;
  72. }
  73. public static double[] getBashArray(ImportExcel importExcel,String st,int column1,int[] column2){
  74. int lastRow = importExcel.getLastDataRowNum();
  75. int len = column2.length;
  76. double[] d = new double[len];
  77. for(int i=0;i<lastRow;i++){
  78. String type = importExcel.getValue(i+1,column1);
  79. if(type.equals("")){
  80. continue;
  81. }
  82. if(type.contains(st)){
  83. for(int j=0;j<len;j++) {
  84. d[j] = importExcel.getDouble(i + 1, column2[j]);
  85. }
  86. break;
  87. }
  88. }
  89. return d;
  90. }
  91. /**
  92. * 根据字段读取数据
  93. * @param importExcel 文件对象
  94. * @param sts 字段
  95. * @param column1 字段列号
  96. * @param column2 读取数据列号
  97. * @return
  98. */
  99. public static double[][] getDoubleArrays(ImportExcel importExcel,String[] sts,int column1,int[] column2){
  100. int lastRow = importExcel.getLastDataRowNum();
  101. int len = sts.length;
  102. int len1 = column2.length;
  103. double[][] d = new double[len][len1];
  104. for(int i=0;i<lastRow;i++){
  105. String type = importExcel.getValue(i+1,column1);
  106. if(type.equals("")){
  107. continue;
  108. }
  109. for(int j=0;j<len;j++){
  110. if(type.equals(sts[j])){
  111. for(int k=0;k<column2.length;k++) {
  112. d[j][k] = importExcel.getDouble(i + 1, column2[k]);
  113. }
  114. }
  115. }
  116. }
  117. return d;
  118. }
  119. public static double[][] getBashArray(ImportExcel importExcel,String[] sts,int column1,int[] column2){
  120. int lastRow = importExcel.getLastDataRowNum();
  121. int len = sts.length;
  122. int len1 = column2.length;
  123. double[][] d = new double[len][len1];
  124. for(int j=0;j<len;j++){
  125. for(int i=0;i<lastRow;i++){
  126. String type = importExcel.getValue(i+1,column1);
  127. if(type.equals("")){
  128. continue;
  129. }
  130. if(type.contains(sts[j])){
  131. for(int k=0;k<column2.length;k++) {
  132. d[j][k] = importExcel.getDouble(i + 1, column2[k]);
  133. }
  134. break;
  135. }
  136. }
  137. }
  138. return d;
  139. }
  140. /**
  141. * 读取税金
  142. */
  143. public static double getTexRate(ImportExcel importExcel){
  144. double rate = 0.00;
  145. int lastRow = importExcel.getLastDataRowNum();
  146. for(int i=2;i<lastRow;i++){
  147. String st = importExcel.getValue(i+1,1);
  148. if(st.contains("税金")){
  149. int a = st.indexOf(":");
  150. int a1 = st.indexOf("%");
  151. String st1 = st.substring(a+2,a1);
  152. rate = Double.valueOf(st1)/100;
  153. break;
  154. }
  155. }
  156. return rate;
  157. }
  158. }