日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java poi读取,写入Excel2003

發布時間:2023/12/10 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java poi读取,写入Excel2003 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java poi讀取,寫入Excel2003

相關閱讀:
poi讀寫Excel2007:http://www.cnblogs.com/gavinYang/p/3576741.html
jxl讀寫excel2003/2007:http://www.cnblogs.com/gavinYang/p/3576819.html

package com.gavin.operational.excle;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row;public class ReadExcelXls {public static void main(String[] args) throws Exception{//讀取xlsMap<Integer, List<String[]>> map = readXls("E:/測試讀取XLS.xls");for(int n=0;n<map.size();n++){List<String[]> list = map.get(n);System.out.println("-------------------------sheet"+n+"--------------------------------");for(int i=0;i<list.size();i++){String[] arr = (String[]) list.get(i);for(int j=0;j<arr.length;j++){if(j==arr.length-1)System.out.print(arr[j]);elseSystem.out.print(arr[j]+"|");}System.out.println();}}//寫入xlswriteXls("E:/測試寫入XLS.xls",map);}//讀取xlspublic static Map<Integer, List<String[]>> readXls(String fileName) {Map<Integer, List<String[]>> map = new HashMap<Integer, List<String[]>>();try {InputStream is = new FileInputStream(fileName);HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);// 循環工作表Sheet for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);if (hssfSheet == null) {continue;}List<String[]> list = new ArrayList<String[]>();//總行數:hssfSheet.getLastRowNum()-hssfSheet.getFirstRowNum()+1);// 循環行Rowfor (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {HSSFRow hssfRow = hssfSheet.getRow(rowNum);if (hssfRow == null) {continue;}String[] singleRow = new String[hssfRow.getLastCellNum()];for(int column=0;column<hssfRow.getLastCellNum();column++){Cell cell = hssfRow.getCell(column,Row.CREATE_NULL_AS_BLANK);switch(cell.getCellType()){case Cell.CELL_TYPE_BLANK:singleRow[column] = "";break;case Cell.CELL_TYPE_BOOLEAN:singleRow[column] = Boolean.toString(cell.getBooleanCellValue());break;case Cell.CELL_TYPE_ERROR:singleRow[column] = "";break;case Cell.CELL_TYPE_FORMULA:cell.setCellType(Cell.CELL_TYPE_STRING);singleRow[column] = cell.getStringCellValue();if (singleRow[column] != null) {singleRow[column] = singleRow[column].replaceAll("#N/A", "").trim();}break;case Cell.CELL_TYPE_NUMERIC:if (DateUtil.isCellDateFormatted(cell)) {singleRow[column] = String.valueOf(cell.getDateCellValue());} else {cell.setCellType(Cell.CELL_TYPE_STRING);String temp = cell.getStringCellValue();// 判斷是否包含小數點,如果不含小數點,則以字符串讀取,如果含小數點,則轉換為Double類型的字符串if (temp.indexOf(".") > -1) {singleRow[column] = String.valueOf(new Double(temp)).trim();} else {singleRow[column] = temp.trim();}}break;case Cell.CELL_TYPE_STRING:singleRow[column] = cell.getStringCellValue().trim();break;default:singleRow[column] = "";break;}}list.add(singleRow);}map.put(numSheet, list);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return map;} //寫入xlspublic static void writeXls(String fileName,Map<Integer,List<String[]>> map) {try {HSSFWorkbook wb = new HSSFWorkbook();for(int sheetnum=0;sheetnum<map.size();sheetnum++){HSSFSheet sheet = wb.createSheet(""+sheetnum);List<String[]> list = map.get(sheetnum);for(int i=0;i<list.size();i++){HSSFRow row = sheet.createRow(i);String[] str = list.get(i);for(int j=0;j<str.length;j++){HSSFCell cell = row.createCell(j);cell.setCellValue(str[j]); }}}FileOutputStream outputStream = new FileOutputStream(fileName);wb.write(outputStream);outputStream.close();} catch (FileNotFoundException e) {// TODO 自動生成的 catch 塊 e.printStackTrace();} catch (IOException e) {// TODO 自動生成的 catch 塊 e.printStackTrace();}}}

?

轉載于:https://www.cnblogs.com/gavinYang/p/3576739.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Java poi读取,写入Excel2003的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。