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;
}
相關文章
- phpSpreadsheet 讀取圖片並另存為檔案PHP
- 如何用 JAVA 生成有格式的 XLSJava
- phpSpreadsheet Artisan command 讀取圖片並另存為檔案PHP
- csv和xls的區別
- xls 編碼 utf-8
- NOPI讀取Word模板並儲存
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- Python 實現Excel XLS和XLSX格式相互轉換PythonExcel
- Python中4種方法實現 xls 檔案轉 xlsxPython
- 基於NPOI封裝支援多級表頭靈活讀寫的《Soul.XLS》庫封裝
- SAP ABAP 處理 Excel 的標準函式 TEXT_CONVERT_XLS_TO_SAP 介紹試讀版Excel函式
- java讀取大檔案並處理Java
- xlsx是什麼格式的檔案 xls和xlsx工作表哪個好用
- 十幾行Python程式碼輕鬆實現txt轉xls,方便快捷Python
- Java讀取本地檔案內容並輸出Java
- SAP ABAP 解析 excel 檔案的函式 TEXT_CONVERT_XLS_TO_SAP 單步執行分析Excel函式
- 01 讀取模板HTML檔案HTML
- 另存為快捷鍵ctrl加什麼 電腦wordexcelpt另存為快捷鍵是什麼Excel
- jeefast匯入Excel---同步實現匯入字尾為.xls和字尾名為.xlsx(在jeefast實現匯入功能的基礎上)ASTExcel
- win10 xls表格密碼忘了怎麼辦 win10excel忘記密碼如何開啟Win10密碼Excel
- win10怎麼將pdf另存為圖片_win10如何把pdf另存為圖片Win10
- Excel上傳並讀取資料Excel
- python解壓並讀取檔案Python
- Java 讀取檔案Java
- 實用小程式(1)之讀取xml並儲存為txt文字XML
- Excel 讀取圖片並獲取儲存路徑Excel
- 在Python以陣列的方式讀取影像,並轉為Torch張量Python陣列
- nodejs 讀取excel檔案,並去重NodeJSExcel
- hadoop 合併sequcefie並在map中讀取Hadoop
- java poi 讀取模版excel寫入資料並保持原本單元格樣式JavaExcel
- java多現場讀取listJava
- Java 讀取PDF中的表格Java
- Java系列:讀取XML檔案JavaXML
- java中讀取配置檔案Java
- C# 掃描並讀取圖片中的文字C#
- 讀取檔案流並寫入檔案流
- Python中Spark讀取parquet檔案並獲取schema的JSON表示PythonSparkJSON
- 寫模板, 並查集。並查集
- win10 edge網頁另存為在哪裡_win10 edge網頁另存的路徑是什麼Win10網頁