JAVA使用POI根据模版导出EXCEL

//excel模板路径  
File fi=new File(basePath+templetName);  
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fi));  
//读取excel模板  
HSSFWorkbook wb = new HSSFWorkbook(fs);  
//读取了模板内所有sheet内容  
HSSFSheet sheet = wb.getSheetAt(0);  
//在相应的单元格进行赋值  
HSSFCell cell = sheet.getRow(1).getCell(0);  
cell.setCellValue(XX);  


创建行设置样式,创建单元格,设置单元格样式

sheet.shiftRows(startRow, startRow+1, 1,true,false);
sheet.createRow(startRow);
sheet.getRow(startRow).setRowStyle(rowstyle);
for (int j = 0; j < 9; j++) {
      sheet.getRow(startRow).createCell(j);
}
HSSFCell temp1 = sheet.getRow(startRow).getCell(0);  
temp1.setCellValue(1);
temp1.setCellStyle(style);

输出

//修改模板内容导出新模板  
filename =filename+DateUtil.getMillisTime().toString();
FileOutputStream out = new FileOutputStream("F:/"+filename+".xls");  
wb.write(out);  
out.close();
out.flush();
下载

private void download(String path, HttpServletResponse response) {  
  try {  
       // path是指欲下载的文件的路径。  
       File file = new File(path);  
       // 取得文件名。  
       String filename = file.getName();  
       // 以流的形式下载文件。  
       InputStream fis = new BufferedInputStream(new FileInputStream(path));  
       byte[] buffer = new byte[fis.available()];  
       fis.read(buffer);  
       fis.close();  
       // 清空response  
       response.reset();  
       // 设置response的Header  
       OutputStream toClient = new BufferedOutputStream(response.getOutputStream());  
       response.setContentType("application/vnd.ms-excel;charset=gb2312");  
       response.addHeader("Content-Disposition", "attachment;filename="+ new String(filename));  
       response.addHeader("Content-Length", "" + file.length());  
       toClient.write(buffer);  
       toClient.flush();  
       toClient.close();  
     } catch (IOException ex) {  
        ex.printStackTrace();  
     }  
}




  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!您可以使用JavaPOI库来根据现有的模板导出Excel文件。下面是一个简单的示例代码,演示了如何使用POI来实现这个需求: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; public class ExcelExportExample { public static void main(String[] args) { String templatePath = "path/to/template.xlsx"; String outputPath = "path/to/output.xlsx"; try { FileInputStream fis = new FileInputStream(templatePath); Workbook workbook = new XSSFWorkbook(fis); Sheet sheet = workbook.getSheetAt(0); // 在模板中找到需要填充数据的位置,假设要填充的单元格是A1 Row row = sheet.getRow(0); Cell cell = row.getCell(0); // 填充数据到单元格中 cell.setCellValue("Hello, World!"); // 将修改后的Excel文件写入输出流 FileOutputStream fos = new FileOutputStream(outputPath); workbook.write(fos); // 关闭资源 fos.close(); workbook.close(); System.out.println("Excel导出成功!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述代码中,您需要将`templatePath`替换为实际的模板文件路径,`outputPath`替换为导出Excel文件保存路径。然后,您可以通过`Workbook`对象获取要填充数据的单元格,并使用`setCellValue`方法将数据填充到单元格中。最后,通过`FileOutputStream`将修改后的Excel写入到输出流中。 希望这个示例对您有帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值