按照excel指定的样式导出数据
2017-06-20 16:36
197 查看
数据导出在涉及到报表的系统是一个很常见的功能,而excel又是常见的导出数据的方式,如果导出报表时需要按照一定的样式导出,那么就需要确保写入数据的excel按照某种样式返回。常见的方法是在创建excel的时候设置单元格样式来达到我们想要的样式效果,这种方法有以下缺点:
1.替换不方便,如果需要更改样式则需要修改代码:
2.增加了代码量
这里给出我的解决方案:
1.使用的getSheetAt方法获取Sheet,而不是创建Sheet
2.创建excel Cell的开始行可以根据需要设置,如果有表头则可以在表头下面某一行开始存入数据,cell行号是以0开始的!!
1.替换不方便,如果需要更改样式则需要修改代码:
HSSFWorkbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet("sheet0"); HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(CellStyle.ALIGN_CENTER); HSSFCellStyle cellStyle = wb.createCellStyle(); HSSFDataFormat format= wb.createDataFormat(); cellStyle.setAlignment(CellStyle.ALIGN_LEFT); cellStyle.setDataFormat(format.getFormat("yyyy-m-d"));
2.增加了代码量
这里给出我的解决方案:
Resource resource = new ClassPathResource("model/xx.xlsx"); Workbook wb = WorkbookFactory.create(resource.getInputStream()); Sheet sheet = wb.getSheetAt(0); Row row = sheet.createRow(0); row.createCell(3).setCellValue("xx编码"); row.createCell(4).setCellValue("xx类型"); row.createCell(5).setCellValue("项目"); row.createCell(6).setCellValue("计量单位"); row.createCell(7).setCellValue("xx(元)"); os = response.getOutputStream(); wb.write(os);
思想:
提前设置好excel模板文件,并放在指定位置, 我这里放在了src/main/resources目录下,然后读取该文件并获取相应的sheet即可,这里需要注意的地方:1.使用的getSheetAt方法获取Sheet,而不是创建Sheet
2.创建excel Cell的开始行可以根据需要设置,如果有表头则可以在表头下面某一行开始存入数据,cell行号是以0开始的!!
相关文章推荐
- 【经典】C#winform从数据集导出Excel(带指定Excel样式) 转
- asp.net<Web版> ---GridView 数据导出到excel表,系列问题<一>---导出的Excel文件格式与文件扩展名指定的格式不一致
- POI通用导出Excel数据(包括样式设计)
- 项目笔记:导出Excel功能设置导出数据样式
- 将ListView中的数据导出到指定的Excel文件中
- C#winform从数据集导出Excel(带指定Excel样式)
- PHPExcel自动按照数据的列数导出文件(带demo代码)
- C#导出Excel按照指定格式设置单元格属性值
- Java实现指定数据表导出生成Excel
- winform中 以excel的格式导出 listview的数据 到指定目标文件夹
- C#winform从数据集导出Excel(带指定Excel样式)
- 将从数据库导出的数据以excel的附件形势发送到指定邮箱
- POI按照模板导出Excel数据
- C#导出Excel按照指定格式设置单元格属性值
- DELPHI如何将数据导出到指定格式的EXCEL模版
- 从数据库导出数据到excel并且保存到指定位置
- 使用netDxf将ArcGIS空间数据按指定样式导出CAD文件
- HTML导出Excel数据类型转换样式参考
- 将DataGrid中的数据导出到指定的Excel文件中
- POI通用导出Excel数据(包括样式设计)