|
|
@@ -15,35 +15,40 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
|
-import org.apache.poi.hssf.usermodel.HSSFFont;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFFont;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
|
|
|
import com.goafanti.common.model.TOrderBillNew;
|
|
|
import com.goafanti.order.bo.OrderReportBo;
|
|
|
import com.goafanti.order.bo.TOrderBonusBo;
|
|
|
import com.goafanti.order.bo.TOrderNewBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskListBo;
|
|
|
+import com.goafanti.order.enums.BonusSubject;
|
|
|
import com.goafanti.order.enums.LiquidationNewState;
|
|
|
import com.goafanti.order.enums.OrderNewState;
|
|
|
import com.goafanti.order.enums.ProjectNewStage;
|
|
|
import com.goafanti.techproject.enums.TaskState;
|
|
|
-import com.goafanti.order.enums.BonusSubject;
|
|
|
|
|
|
public class ExportExcelUtil {
|
|
|
|
|
|
//设置单元格格式
|
|
|
- private static HSSFCellStyle setCellStyle1(HSSFWorkbook workbook){
|
|
|
+ private static XSSFCellStyle setCellStyle1(XSSFWorkbook workbook){
|
|
|
// 设置字体
|
|
|
- HSSFFont font = workbook.createFont();
|
|
|
+ XSSFFont font = workbook.createFont();
|
|
|
// font.setColor(HSSFFont.COLOR_RED);
|
|
|
font.setFontName("微软雅黑");
|
|
|
font.setFontHeightInPoints((short) 10);//字体大小
|
|
|
|
|
|
// 设置样式
|
|
|
- HSSFCellStyle cellStyle = workbook.createCellStyle();
|
|
|
+ XSSFCellStyle cellStyle = workbook.createCellStyle();
|
|
|
cellStyle.setFont(font); //字体
|
|
|
|
|
|
//设置自动换行
|
|
|
@@ -117,30 +122,30 @@ public class ExportExcelUtil {
|
|
|
* @param comment 表头(列名)
|
|
|
* @param filePath 生成文件路径
|
|
|
*/
|
|
|
- public static HSSFWorkbook exportDeptBillInfo(Map<String,List<TOrderBillNew>> map,String[] deptnames,String[] comment,String filePath){
|
|
|
+ public static XSSFWorkbook exportDeptBillInfo(Map<String,List<TOrderBillNew>> map,String[] deptnames,String[] comment,String filePath){
|
|
|
//map 数据 ,deptnames 部门名称,comment表头 (列名称)
|
|
|
//1,创建一个workbook,对应的是一个excel文件
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
int count = 0;
|
|
|
//遍历map
|
|
|
for (Map.Entry<String,List<TOrderBillNew>> entry : map.entrySet()) {
|
|
|
//2.创建一个sheet
|
|
|
- HSSFSheet sheet = wb.createSheet(entry.getKey());
|
|
|
+ XSSFSheet sheet = wb.createSheet(entry.getKey());
|
|
|
//3。创建一个row
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
//4.创建一个cell
|
|
|
- HSSFCell cell = row.createCell(0);
|
|
|
+ XSSFCell cell = row.createCell(0);
|
|
|
cell.setCellValue(deptnames[count]+" 流水记录");
|
|
|
count ++;
|
|
|
- HSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
cell.setCellStyle(style1);
|
|
|
//合并列
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
|
|
|
//创建表头
|
|
|
- HSSFRow row2 = sheet.createRow(1);
|
|
|
+ XSSFRow row2 = sheet.createRow(1);
|
|
|
for(int i = 0; i < comment.length; i++){
|
|
|
sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
- HSSFCell c = row2.createCell(i);
|
|
|
+ XSSFCell c = row2.createCell(i);
|
|
|
c.setCellValue(comment[i]);
|
|
|
c.setCellStyle(style1);
|
|
|
}
|
|
|
@@ -152,7 +157,7 @@ public class ExportExcelUtil {
|
|
|
}
|
|
|
for (TOrderBillNew ob : list) {
|
|
|
//新增一行
|
|
|
- HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
//当前列的只
|
|
|
String o ;
|
|
|
@@ -190,7 +195,7 @@ public class ExportExcelUtil {
|
|
|
case "订单负责人": o = ob.getSaleName(); break;
|
|
|
default: o = ""; break;
|
|
|
}
|
|
|
- HSSFCell c = r.createCell(i);
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
c.setCellValue(o);
|
|
|
}
|
|
|
}
|
|
|
@@ -221,30 +226,30 @@ public class ExportExcelUtil {
|
|
|
* @param comment
|
|
|
* @return
|
|
|
*/
|
|
|
- public static HSSFWorkbook exportDeptBonusInfoT(Map<String,List<TOrderBonusBo>> map,String[] deptnames,String[] comment){
|
|
|
+ public static XSSFWorkbook exportDeptBonusInfoT(Map<String,List<TOrderBonusBo>> map,String[] deptnames,String[] comment){
|
|
|
//map 数据 ,deptnames 部门名称,comment表头 (列名称)
|
|
|
//1,创建一个workbook,对应的是一个excel文件
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
int count = 0;
|
|
|
//遍历map
|
|
|
for (Map.Entry<String,List<TOrderBonusBo>> entry : map.entrySet()) {
|
|
|
//2.创建一个sheet
|
|
|
- HSSFSheet sheet = wb.createSheet(entry.getKey());
|
|
|
+ XSSFSheet sheet = wb.createSheet(entry.getKey());
|
|
|
//3。创建一个row
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
//4.创建一个cell
|
|
|
- HSSFCell cell = row.createCell(0);
|
|
|
+ XSSFCell cell = row.createCell(0);
|
|
|
cell.setCellValue(deptnames[count]+" 奖金记录");
|
|
|
count ++;
|
|
|
- HSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
cell.setCellStyle(style1);
|
|
|
//合并列
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
|
|
|
//创建表头
|
|
|
- HSSFRow row2 = sheet.createRow(1);
|
|
|
+ XSSFRow row2 = sheet.createRow(1);
|
|
|
for(int i = 0; i < comment.length; i++){
|
|
|
sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
- HSSFCell c = row2.createCell(i);
|
|
|
+ XSSFCell c = row2.createCell(i);
|
|
|
c.setCellValue(comment[i]);
|
|
|
c.setCellStyle(style1);
|
|
|
}
|
|
|
@@ -256,7 +261,7 @@ public class ExportExcelUtil {
|
|
|
}
|
|
|
for (TOrderBonusBo ob : list) {
|
|
|
//新增一行
|
|
|
- HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
//当前列的只
|
|
|
String o = "";
|
|
|
@@ -281,7 +286,7 @@ public class ExportExcelUtil {
|
|
|
break;
|
|
|
default: o = ""; break;
|
|
|
}
|
|
|
- HSSFCell c = r.createCell(i);
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
c.setCellValue(o);
|
|
|
}
|
|
|
}
|
|
|
@@ -311,28 +316,28 @@ public class ExportExcelUtil {
|
|
|
* @param date
|
|
|
* @return
|
|
|
*/
|
|
|
- public static HSSFWorkbook exportOrderInfo(List<OrderReportBo> list,String date){
|
|
|
+ public static XSSFWorkbook exportOrderInfo(List<OrderReportBo> list,String date){
|
|
|
//list 数据 ,comment表头 (列名称)
|
|
|
String[] comment = {"序号","订单部门","订单类型","签单人员","签单数量","累计签单金额(万元)"};
|
|
|
//1,创建一个workbook,对应的是一个excel文件
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
//遍历map
|
|
|
//2.创建一个sheet
|
|
|
- HSSFSheet sheet = wb.createSheet(date + "订单统计");
|
|
|
+ XSSFSheet sheet = wb.createSheet(date + "订单统计");
|
|
|
//3。创建一个row
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
//4.创建一个cell
|
|
|
- HSSFCell cell = row.createCell(0);
|
|
|
+ XSSFCell cell = row.createCell(0);
|
|
|
cell.setCellValue(date + "订单统计");
|
|
|
- HSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
cell.setCellStyle(style1);
|
|
|
//合并列
|
|
|
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, comment.length-1));//合并单元格
|
|
|
//创建表头
|
|
|
- HSSFRow row2 = sheet.createRow(1);
|
|
|
+ XSSFRow row2 = sheet.createRow(1);
|
|
|
for(int i = 0; i < comment.length; i++){
|
|
|
sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
- HSSFCell c = row2.createCell(i);
|
|
|
+ XSSFCell c = row2.createCell(i);
|
|
|
c.setCellValue(comment[i]);
|
|
|
c.setCellStyle(style1);
|
|
|
}
|
|
|
@@ -340,7 +345,7 @@ public class ExportExcelUtil {
|
|
|
//int rowmnum = sheet.getLastRowNum();//获得当前行数据
|
|
|
for (OrderReportBo ob : list) {
|
|
|
//新增一行
|
|
|
- HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
//当前列的只
|
|
|
String o = "";
|
|
|
@@ -354,7 +359,7 @@ public class ExportExcelUtil {
|
|
|
|
|
|
default: o = ""; break;
|
|
|
}
|
|
|
- HSSFCell c = r.createCell(i);
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
c.setCellValue(o);
|
|
|
}
|
|
|
}
|
|
|
@@ -378,24 +383,24 @@ public class ExportExcelUtil {
|
|
|
}*/
|
|
|
}
|
|
|
|
|
|
- public static HSSFWorkbook exportOrderDunData(List<TOrderNewBo> list,String[] comment,String filePath){
|
|
|
+ public static XSSFWorkbook exportOrderDunData(List<TOrderNewBo> list,String[] comment,String filePath){
|
|
|
//map 数据 comment表头 (列名称)
|
|
|
//1,创建一个workbook,对应的是一个excel文件
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
//2.创建一个sheet
|
|
|
- HSSFSheet sheet = wb.createSheet();
|
|
|
+ XSSFSheet sheet = wb.createSheet();
|
|
|
//创建表头
|
|
|
- HSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
for(int i = 0; i < comment.length; i++){
|
|
|
sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
- HSSFCell c = row.createCell(i);
|
|
|
+ XSSFCell c = row.createCell(i);
|
|
|
c.setCellValue(comment[i]);
|
|
|
c.setCellStyle(style1);
|
|
|
}
|
|
|
for (TOrderNewBo ob : list) {
|
|
|
//新增一行
|
|
|
- HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
//当前列的只
|
|
|
String o ;
|
|
|
@@ -413,7 +418,7 @@ public class ExportExcelUtil {
|
|
|
case "催款启动日期": o = ob.getStartDate(); break;
|
|
|
default: o = ""; break;
|
|
|
}
|
|
|
- HSSFCell c = r.createCell(i);
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
c.setCellValue(o);
|
|
|
}
|
|
|
}
|
|
|
@@ -436,25 +441,25 @@ public class ExportExcelUtil {
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
- public static HSSFWorkbook exportTaskHoursListData(List<TOrderTaskListBo> list, String[] comment, String filePath) {
|
|
|
+ public static XSSFWorkbook exportTaskHoursListData(List<TOrderTaskListBo> list, String[] comment, String filePath) {
|
|
|
|
|
|
//map 数据 comment表头 (列名称)
|
|
|
//1,创建一个workbook,对应的是一个excel文件
|
|
|
- HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
//2.创建一个sheet
|
|
|
- HSSFSheet sheet = wb.createSheet();
|
|
|
+ XSSFSheet sheet = wb.createSheet();
|
|
|
//创建表头
|
|
|
- HSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
- HSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
for(int i = 0; i < comment.length; i++){
|
|
|
sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
- HSSFCell c = row.createCell(i);
|
|
|
+ XSSFCell c = row.createCell(i);
|
|
|
c.setCellValue(comment[i]);
|
|
|
c.setCellStyle(style1);
|
|
|
}
|
|
|
for (TOrderTaskListBo ob : list) {
|
|
|
//新增一行
|
|
|
- HSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
//当前列的只
|
|
|
String o ;
|
|
|
@@ -470,11 +475,50 @@ public class ExportExcelUtil {
|
|
|
case "工时": o = ob.getHours(); break;
|
|
|
default: o = ""; break;
|
|
|
}
|
|
|
- HSSFCell c = r.createCell(i);
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
c.setCellValue(o);
|
|
|
}
|
|
|
}
|
|
|
return wb;
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 年度导出数据模板
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static XSSFWorkbook downOrderModelExcel() {
|
|
|
+ String[] comment = {"姓名","电话","月份","项目类型","签单数量","累计签单金额(万元)"};
|
|
|
+ String[] d1 = {"张三","13275161283","1","科技项目","2","12"};
|
|
|
+ String[] d2 = {"张三","13275161283","1","认证项目","0.3","3"};
|
|
|
+
|
|
|
+ //map 数据 comment表头 (列名称)
|
|
|
+ //1,创建一个workbook,对应的是一个excel文件
|
|
|
+ XSSFWorkbook wb = new XSSFWorkbook();
|
|
|
+ //2.创建一个sheet
|
|
|
+ XSSFSheet sheet = wb.createSheet();
|
|
|
+ //创建表头
|
|
|
+ XSSFCellStyle style1 = setCellStyle1(wb);
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFRow row1 = sheet.createRow(1);
|
|
|
+ XSSFRow row2 = sheet.createRow(2);
|
|
|
+ for(int i = 0; i < comment.length; i++){
|
|
|
+ sheet.setColumnWidth(i, 3000);//设置列宽
|
|
|
+ XSSFCell c = row.createCell(i);
|
|
|
+ c.setCellValue(comment[i]);
|
|
|
+ c.setCellStyle(style1);
|
|
|
+ }
|
|
|
+ for(int i = 0; i < d1.length; i++){
|
|
|
+ XSSFCell c = row1.createCell(i);
|
|
|
+ c.setCellValue(d1[i]);
|
|
|
+ c.setCellStyle(style1);
|
|
|
+ }
|
|
|
+ for(int i = 0; i < d2.length; i++){
|
|
|
+ XSSFCell c = row2.createCell(i);
|
|
|
+ c.setCellValue(d2[i]);
|
|
|
+ c.setCellStyle(style1);
|
|
|
+ }
|
|
|
+ return wb;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|