java excel相同的合并_java servlet导出EXCEL并合并EXCEL相同值的单元格(Apache POI技术)...
@ResponseBody
@RequestMapping(params = "method=loadOutExcel")
public void loadOutExcel(HttpServletRequest request) throws IOException{
//人员登录id
Farmer farmer = (Farmer) request.getSession().getAttribute("farmer");
int id = farmer.getId();
//根据登录id,从数据库读取全部值
List orderDetailsList = orderDetailService.getHistoryOrderDetailListExcel(id);
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFCellStyle cellStyle = workbook.createCellStyle();
//创建EXCEL表名
XSSFSheet spreadsheet = workbook.createSheet("历史订单");
XSSFRow row=spreadsheet.createRow(0);
XSSFCell cell;
//在EXCEL的第一行建立各列的标题
cell=row.createCell(0);
cell.setCellValue("配送时间");
cell=row.createCell(1);
cell.setCellValue("订单量");
cell=row.createCell(2);
cell.setCellValue("农场名称");
cell=row.createCell(3);
cell.setCellValue("商品名称");
cell=row.createCell(4);
cell.setCellValue("商品数量");
cell=row.createCell(5);
cell.setCellValue("单位");
int countIndex = 0;
String deli_day = ""; //定义一个临时存储值
int startRow = 1;
int sum=0;
int countIndex_s = 0;
int startRow_s = 1;
int i=1;
for(OrderWaitPojo o:orderDetailsList){
row=spreadsheet.createRow(i);
cell=row.createCell(0);
cell.setCellValue(o.getDelivery_day());
if("".equals(deli_day)){//当第一次循环的时候将第一个实际值赋值给临时变量
deli_day=o.getDelivery_day();
}else{
if(o.getDelivery_day().equals(deli_day)){ //第二次循环取得的值与第一次循环取得值 进行对比,如果相等,计数器countIndex+1
countIndex ++;
}else{
//如果比较不相等,则合并单元格,现在合并的是从第startRow行开始,到startRow +countIndex行结束,后边两个0是从第0列开始,到第0列结束
spreadsheet.addMergedRegion(new CellRangeAddress(startRow,startRow+countIndex, 0, 0));
startRow = startRow+countIndex+1;
countIndex = 0;
deli_day=o.getDelivery_day();
}
}
cell=row.createCell(1);
cell.setCellValue(o.getSum());
if(sum==0){
sum = o.getSum();
}else{
if(o.getSum()==sum){
countIndex_s ++;
}else{
spreadsheet.addMergedRegion(new CellRangeAddress(startRow_s,startRow_s+countIndex_s, 1, 1));
startRow_s = startRow_s+countIndex_s+1;
countIndex_s = 0;
sum=o.getSum();
}
}
cell=row.createCell(2);
cell.setCellValue(o.getFarm_name());
cell=row.createCell(3);
cell.setCellValue(o.getProduct_name());
cell=row.createCell(4);
cell.setCellValue(o.getAmount());
cell=row.createCell(5);
cell.setCellValue(o.getUnit());
i++;
}
FileOutputStream out = new FileOutputStream(new File("D:/历史订单.xlsx"));
workbook.write(out);
out.close();
System.out.println(
"exceldatabase.xlsx written successfully");
}
java excel相同的合并_java servlet导出EXCEL并合并EXCEL相同值的单元格(Apache POI技术)...相关推荐
- excel表格中打开可以显示整个表格但是打印却只能打印一个单元格
excel表格中打开可以显示整个表格但是打印却只能打印一个单元格 如下图显示 解决办法 2007 版菜单栏上 ----->页面布局----->打印区域----->取消打印.即可正常. ...
- 报表中怎么把相同值的单元格合并成一个大格
同值合并单元格的情况一般分两种: 1.一种是比较简单的情况:对分类或者分类扩展字段进行同值合并处理(如下图所示的效果图:对供应商数据进行同值合并) 这种情况大多数报表工具都能直接支持,使用分组功能即可 ...
- java int格式转换文本_java 文件导出Excel 文本形式转数字格式解决,字段是int导出需求是数字解决方案...
问题:java字段是int类型等,然后导出时是文本,需要操作人员转换为数字格式. 应操作人员要求,导出的时候就是数字格式可以不用转换,方便操作等 java 后台处理过程: 这里我只处理表格的0,2,7 ...
- Excel导出且合并相同值的单元格
1.合并单元格工具类 /*** 导出excel工具类*/ public class ExportExcelUtil {public ExportExcelUtil() {super();}/*** @ ...
- java实现excel文件上传_java相关:SpringMVC下实现Excel文件上传下载
java相关:SpringMVC下实现Excel文件上传下载 发布于 2020-6-21| 复制链接 摘记: 在实际应用中,经常会遇到上传Excel或者下载Excel的情况,比如导入数据.下载统计数据 ...
- java删除word中批注_Java 添加、读取和删除 Excel 批注的操作代码
批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...
- java excel 单元格类型,POI Excel 单元格内容类型判断并取值
个人用到的 String birthdayVal = null; switch (cell_2.getCellTypeEnum()) { case STRING: birthdayVal = cell ...
- java设置Excel单元格格式 POI
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:先获取工作薄对象:HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.cr ...
- php 导出csv设置列宽度,php数据库导出excel表格数据-php从数据库导出csv格式的Excel表格是,字段本身就......
PHP如何将查询出来的数据导出成excel表格(最好做... $objPHPExcel->getActiveSheet()->getDefaultColumnDimension(A)-&g ...
最新文章
- 全球及中国潜水压力传感器行业运行态势及发展战略研究报告2022-2027年
- 索引使用原则-列的离散(sàn)度
- MongoDb分片集群认证
- MFC中属性表单和向导对话框的使用
- 互联网金融爬虫怎么写-第二课 雪球网股票爬虫(正则表达式入门)
- 安装python3-dev_linux安装python3
- 十大热门编程语言的介绍
- Himall商城图片帮助类ImageHelper 生成验证码
- 全球免费数字图书馆TOP30
- windows10安装更新很慢ndows,win10系统更新后运行速度变慢的解决方法 - 系统家园...
- 宝塔面板建立站点无法打开网页解决办法
- linux 复制文件提示略过目录xxx
- 做开发你遇到最无理的需求是什么?
- C++约瑟夫环改良版
- 保险怎么买?有哪些销售渠道?各自的优缺点是什么?
- 【谷粒商城】ElasticSearch、上架与检索
- 面试知识点-网络——HTTP与TLS
- H265封装成RTP流(一)
- idea设置代码提示
- Ignite 数据网格快速学习(一)