POI HSSFWorkbook导出Excel到本地电脑

由于开发环境限制,其中的引用可能版本比较老,可作为参考

Map<String,List<String>> map = new HashMap<String, List<String>>();
//获取本地桌面路径,也可以指定文件路径
File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory();
String path = desktopDir.getAbsolutePath();
//创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("多级流程生产订单追踪表");
//设置筛选排序,也就是Excel对应列有下拉筛选功能
sheet.setAutoFilter(CellRangeAddress.valueOf("C1:E1"));
sheet.setDefaultColumnWidth(20);// 默认列宽
//在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
//创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
// 创建一个居中格式,字体大小
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//设置单元格颜色,注意要同时设定FillPattern才生效
style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
style.setFillPattern((short) 1);
HSSFFont font = wb.createFont();
//设置字体及字体颜色
font.setFontHeightInPoints((short) 12);
//font.setColor(IndexedColors.ROYAL_BLUE.getIndex());
style.setFont(font);
//strArray={“工厂”,"订单号".......}
// 添加表头
HSSFCell cell = null;
for (int i = 0; i < strArray.length; i++) {
    cell = row.createCell(i);
    cell.setCellValue(strArray[i]);
    cell.setCellStyle(style);
}
//写入数据,根据数据格式可从新构造方法
int m = 1;
for (String str : map.keySet()) {
    row = sheet.createRow(m);
    List<String> list = map.get(str);
    //创建单元格,并设置值
    for (int j = 0; j < strArray.length; j++) {
        row.createCell(j).setCellValue(list.get(j));
    }
    //将文件存到指定位置
    try {
        FileOutputStream fout = new FileOutputStream(path+"/生产订单追踪表.xls");
        wb.write(fout);
        fout.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    m++;
}
工具包有很多功能,可根据自己需要去查询资料,这里只例了个别需要的,包括Excel的各种美化、功能等,根据相应的方法都能查到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
HSSFWorkbook是Apache POI库中的一个类,用于创建和操作Excel文件(.xls格式)。如果你想将HSSFWorkbook导出到本地,可以按照以下步骤进行操作: 1. 创建一个HSSFWorkbook对象,并添加需要的工作表、行和单元格。 2. 使用FileOutputStream类创建一个输出流对象,指定导出的文件路径和文件名。 3. 调用HSSFWorkbook对象的write方法,将Excel数据写入输出流。 4. 关闭输出流,释放资源。 下面是一个示例代码,演示如何将HSSFWorkbook导出到本地: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import java.io.FileOutputStream; import java.io.IOException; public class ExcelExporter { public static void main(String[] args) { // 创建HSSFWorkbook对象 try (Workbook workbook = new HSSFWorkbook()) { // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行和单元格,并填充数据 Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("Hello, World!"); // 导出到本地 try (FileOutputStream fileOut = new FileOutputStream("path/to/output.xls")) { workbook.write(fileOut); System.out.println("Excel导出成功!"); } catch (IOException e) { System.out.println("Excel导出失败:" + e.getMessage()); } } catch (IOException e) { System.out.println("创建Excel失败:" + e.getMessage()); } } } ``` 请注意,上述代码中的"path/to/output.xls"应替换为你希望导出的文件路径和文件名。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值