当前位置:网站首页>POI add write excel file
POI add write excel file
2022-07-06 08:38:00 【renkai721】
Requirement scenario description :
Sometimes we need to upload a complete EXCEL Split into several different EXCEL, Then send it to people in different departments to deal with it , And then put these EXCEL Merge into one EXCEL In file .
The address of the following article is EXCEL2003 To deal with , If it is 2007 Versions above need to be modified manually HSSF by XSSF That's all right. .
POI:EXCEL Export and append - Visit the garden and recall - Blog Garden
Here is poi Code snippets processed
1、pom Add to file poi rely on
<!-- poi start -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>2、 Additional writing EXCEL Core code .
public void appendExcel(String saveOrderLocalPath, int beginRow, List<SubmitYhdDecomposeExcel> list) throws IOException {
FileOutputStream out = null;
log.info("saveOrderLocalPath={},beginRow={}",saveOrderLocalPath,beginRow);
FileInputStream fileInputStream = new FileInputStream(saveOrderLocalPath);
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFCellStyle cellStyle = workbook.createCellStyle();
// ----------------- Additional data -------------------
if(beginRow > 1){
// Which line should I start with , Pay attention to what is passed here beginRow yes EXCEL Real lines , Row number
// The code needs to judge that it is greater than 1 When you go, you need to subtract the subscript 1, The program is written from 0 At the beginning .
// Because there is a header , therefore beginRow=1 There is no reduction here 1
beginRow -= 1;
}
for (int i = 0; i < list.size(); i++) {
SubmitYhdDecomposeExcel rowObj = list.get(i);
XSSFRow startRow = sheet.createRow(i + beginRow);
for (int col = 0; col < 18; col++) {
XSSFCell cell = startRow.createCell(col);
switch (col) {
case 0:
cell.setCellValue(rowObj.getCus_no());
break;
case 1:
cell.setCellValue(rowObj.getType());
break;
case 2:
cell.setCellValue(rowObj.getNum());
break;
case 3:
cell.setCellValue(rowObj.getPrice_input());
break;
case 4:
cell.setCellValue(rowObj.getNormal_type());
break;
case 5:
cell.setCellValue(rowObj.getBak());
break;
case 6:
cell.setCellValue(rowObj.getUnfit());
break;
case 7:
cell.setCellValue(rowObj.getPack());
break;
case 8:
cell.setCellValue(rowObj.getOne_price());
break;
case 9:
cell.setCellValue(rowObj.getLow_price());
break;
case 10:
cell.setCellValue(rowObj.getDate());
break;
case 11:
cell.setCellValue(rowObj.getCheap_type());
break;
case 12:
cell.setCellValue(rowObj.getCheap_bak());
break;
case 13:
cell.setCellValue(rowObj.getCheap_unfit());
break;
case 14:
cell.setCellValue(rowObj.getCheap_pack());
break;
case 15:
cell.setCellValue(rowObj.getCheap_one_price());
break;
case 16:
cell.setCellValue(rowObj.getCheap_low_price());
break;
case 17:
cell.setCellValue(rowObj.getCheap_date());
break;
default:
break;
}
cell.setCellStyle(cellStyle);
}
}
// Output Excel file
out = new FileOutputStream(saveOrderLocalPath);
workbook.write(out);
out.flush();
out.close();
fileInputStream.close();
log.info(" Append write EXCEL complete .");
}边栏推荐
- Modify the video name from the name mapping relationship in the table
- Colorlog结合logging打印有颜色的日志
- marathon-envs项目环境配置(强化学习模仿参考动作)
- Roguelike game into crack the hardest hit areas, how to break the bureau?
- The mysqlbinlog command uses
- leetcode刷题 (5.29) 哈希表
- 同一局域网的手机和电脑相互访问,IIS设置
- [2022 广东省赛M] 拉格朗日插值 (多元函数极值 分治NTT)
- Deep analysis of C language pointer
- Problems in loading and saving pytorch trained models
猜你喜欢

Deep analysis of C language data storage in memory

PC easy to use essential software (used)

marathon-envs项目环境配置(强化学习模仿参考动作)

【MySQL】锁

【ROS】usb_cam相机标定

Indentation of tabs and spaces when writing programs for sublime text

Analysis of the source code of cocos2d-x for mobile game security (mobile game reverse and protection)
![[MySQL] log](/img/e9/1617122888c096cf6aba2bdb88f0ef.png)
[MySQL] log

3. File operation 3-with

Leetcode question brushing (5.28) hash table
随机推荐
visdom可视化实现与检查介绍
sys.argv
[secretly kill little partner pytorch20 days -day01- example of structured data modeling process]
[luatos-air551g] 6.2 repair: restart caused by line drawing
C語言雙指針——經典題型
MySQL learning record 07 index (simple understanding)
电脑F1-F12用途
Deep analysis of C language data storage in memory
pytorch训练好的模型在加载和保存过程中的问题
Roguelike游戏成破解重灾区,如何破局?
生成器参数传入参数
tree树的精准查询
JS native implementation shuttle box
Is it safe to open an account in Zheshang futures?
Mobile phones and computers on the same LAN access each other, IIS settings
LDAP應用篇(4)Jenkins接入
移位运算符
swagger设置字段required必填
China vanadium battery Market Research and future prospects report (2022 Edition)
FairGuard游戏加固:游戏出海热潮下,游戏安全面临新挑战