Java 讀取.xls模板並另存為.xls
File file = new File("E:/doc/supplier-order-template.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(FileUtil.openInputStream(file));
// 迴圈工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {// 節點
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { // 迴圈行Row
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;//跳出離他最近的迴圈
}
for (int cellNum = 0; cellNum < hssfRow.getLastCellNum(); cellNum++) {// 迴圈列Cell
HSSFCell xssfCell = hssfRow.getCell(cellNum);
String cellValue = "";
if (xssfCell == null) {
cellValue = "";
} else {
if(xssfCell.getCellType()==HSSFCell.CELL_TYPE_STRING){//保證讀取的是字串格式
cellValue = String.valueOf(xssfCell.getStringCellValue());
cellValue=replaces(cellValue);
xssfCell.setCellValue(cellValue);
}
}
}
}
}
// 列印模板
//把建立的內容寫入到輸出流中,並關閉輸出流
HSSFSheet sheet = hssfWorkbook.createSheet("供應商訂單詳情");
try
{
FileOutputStream fout = new FileOutputStream("E:/students.xls");
hssfWorkbook.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("success");
//spring 的替換方法
public static String replaces(String str){
System.out.println(str);//替換之前的方法
PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper("{", "}");
Properties properties = new Properties();
properties.setProperty("supplierName", "我是某某供應商");
properties.setProperty("deliveryman", "美團送貨員");
properties.setProperty("supplierMobile", "13122596297");
properties.setProperty("purchaserName", "採購商名稱");
String returnString=helper.replacePlaceholders(str, properties);
System.out.println(returnString);
return returnString;//替換之後的方法
}
/**
* 找到需要插入的行數,並新建一個POI的row物件
* @param sheet
* @param rowIndex
* @param cellStyle
* @param orderProductBO
* @return
*/
private HSSFRow createRow(HSSFSheet sheet, Integer rowIndex, HSSFWorkbook workbook, HSSFCellStyle cellStyle, OrderProductBO orderProductBO) {
if (sheet.getRow(rowIndex) != null) {
int lastRowNo = sheet.getLastRowNum();
sheet.shiftRows(rowIndex, lastRowNo, 1, true, false, false);
}
HSSFRow row = sheet.createRow(rowIndex);
List<String> values = new ArrayList<String>();
values.add(String.valueOf(orderProductBO.getOrderIndex() + 1));
values.add(orderProductBO.getProdName());
values.add(StringUtil.toString(orderProductBO.getActualQuantity()));
values.add(StringUtil.toString(orderProductBO.getSupplierSkuPrice()));
values.add(StringUtil.toString(orderProductBO.getTotalAmount()));
for (int i = 0; i < values.size(); i++) {
HSSFCell createCell = row.createCell(i);
createCell.setCellValue(values.get(i));
createCell.setCellStyle(cellStyle);
}
return row;
}
相關文章
- phpexcel讀取excel的xls xlsx csv格式PHPExcel
- 如何用 JAVA 生成有格式的 XLSJava
- phpSpreadsheet 讀取圖片並另存為檔案PHP
- csv和xls的區別
- phpSpreadsheet Artisan command 讀取圖片並另存為檔案PHP
- NOPI讀取Word模板並儲存
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- # Ruby 資料抓取寫入 xls (unirest, nokogiri, spreadsheet)REST
- sqlplus 能生產xls的excel檔案SQLExcel
- 發現:不要Excel也可生成xls檔案 ! (轉)Excel
- 使用BCP將SQL Server表資料匯出為txt或xls等格式檔案SQLServer
- 前端實現線上預覽pdf、word、xls、ppt等檔案前端
- 使用VBA批量轉換Excel格式,由.xls轉換成.xlsxExcel
- 解析xlsx與xls--使用2012poi.jarJAR
- operties檔案的讀取、新增、修改、清空、另存
- JSP網頁中下載xls檔案亂碼怎麼辦?JS網頁
- SAP ABAP 處理 Excel 的標準函式 TEXT_CONVERT_XLS_TO_SAP 介紹試讀版Excel函式
- java讀取大檔案並處理Java
- xlsx是什麼格式的檔案 xls和xlsx工作表哪個好用
- 開啟EXCEL時無法找到startup.xls檔案的解決方法Excel
- 十幾行Python程式碼輕鬆實現txt轉xls,方便快捷Python
- Java讀取本地檔案內容並輸出Java
- SAP ABAP 解析 excel 檔案的函式 TEXT_CONVERT_XLS_TO_SAP 單步執行分析Excel函式
- 【技術貼】每次開啟excel表格都會彈出新excel。book1.xls解決方法Excel
- 另存為快捷鍵ctrl加什麼 電腦wordexcelpt另存為快捷鍵是什麼Excel
- jeefast匯入Excel---同步實現匯入字尾為.xls和字尾名為.xlsx(在jeefast實現匯入功能的基礎上)ASTExcel
- win10 xls表格密碼忘了怎麼辦 win10excel忘記密碼如何開啟Win10密碼Excel
- 因隱藏的個人宏工作簿PERSONAL.xls檔案導致Excel變慢的問題分析Excel
- 實用小程式(1)之讀取xml並儲存為txt文字XML
- Excel上傳並讀取資料Excel
- Swift 下載檔案,並讀取Swift
- Java讀取本地檔案,並顯示在JSP檔案中JavaJS
- win10怎麼將pdf另存為圖片_win10如何把pdf另存為圖片Win10
- Java 讀取檔案Java
- Excel 讀取圖片並獲取儲存路徑Excel
- wps怎麼另存為pdf、excel、docExcel
- 一個java讀取word文件並將其寫入xml文件的例子JavaXML
- python解壓並讀取檔案Python