一、文件自定义保存
private void writeInfoToExcel(TCComponentBOMLine[] needToEditBomresult, ) throws TCException {
// 第一步创建workbook
HSSFWorkbook wb = new HSSFWorkbook();
if (null != needToEditBomresult && needToEditBomresult.length > 0) {
HSSFSheet needToEditBomsheet = wb.createSheet("检查");
HSSFRow needToEditBomrow = needToEditBomsheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
String[] needToEditTitle = new String[] { "第一列", "第二列", "第三列", "第四列" };
for (int i = 0; i < 4; i++) {
HSSFCell needToEditBomcell = needToEditBomrow.createCell(i);
needToEditBomcell.setCellValue(needToEditTitle[i]);
}
needToEditBomsheet.setColumnWidth(0, 20 * 256);//设置列宽
needToEditBomsheet.setColumnWidth(1, 30 * 256);
needToEditBomsheet.setColumnWidth(2, 10 * 256);
needToEditBomsheet.setColumnWidth(3, 10 * 256);
System.out.println("创建sheet表1");
for (int j = 0; j < needToEditBomresult.length; j++) {
try {
// 创建行
needToEditBomrow = needToEditBomsheet.createRow(j + 1);
// 创建单元格并且添加数据
needToEditBomrow.createCell(0).setCellValue(needToEditBomresult[j].getProperty("bl_item_item_id"));
needToEditBomrow.createCell(1).setCellValue(needToEditBomresult[j].getProperty("bl_item_object_name"));
needToEditBomrow.createCell(2).setCellValue(needToEditBomresult[j].getProperty("xk8_spa_type"));
needToEditBomrow.createCell(3).setCellValue(needToEditBomresult[j].getProperty("xk8_box_type"));
} catch (TCException e) {
e.printStackTrace();
}
}
}
FileNameExtensionFilter filter = new FileNameExtensionFilter("*.xls", "xls");
JFileChooser fc = new JFileChooser();
fc.setFileFilter(filter);
fc.setMultiSelectionEnabled(false);
int results = fc.showSaveDialog(null);
if (results == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
if (!file.getPath().endsWith(".xls")) {
file = new File(file.getPath() + ".xls");
}
System.out.println("file path=" + file.getPath());
try {
if (!file.exists()) {// 文件不存在 则创建一个
file.createNewFile();
}
FileOutputStream fout = new FileOutputStream(file.getPath());
wb.write(fout);
fout.close();
} catch (IOException e) {
System.err.println("文件创建失败:");
e.printStackTrace();
}
}
}
二、打开文件
Runtime.getRuntime().exec(“cmd /c start d://a.xls”) ;
getRuntime()是取得系统运行时环境
start参数表名直接启动excel文件,相当于双击操作 ,是个windows命令.