PIO讀取excel文件,java實現
要下載一個poi-3.0.jar(直接點選就可以下載)檔案
下載完之後就加到classpath就能編譯通過,然後就行了
先建立一個工作簿物件new HSSFWorkbook(new FileInputStream(filepath)),然後在建立工作表 workbook.getSheetAt(0)0表示sheet1,也可以直接用getSheet("Sheet1")這個引數可以是工作表名,然後在遍歷所有的單元格,並讀取資料,遍歷的時候要注意單元格的格式,有兩種,分為數字和字串,所以要進行判斷,額,r.getCell((short)j).getCellType() == 1,這個是字串用getStringCellValue()獲取,然後如果是getCellType()是0的話,則是數字內容,用getNumericCellValue()獲取,然後讀取excel檔案結束了。
具體建立excel檔案的方法也是差不多。。先createSheet()建立工作表,然後不斷的createRow(),createCell()建立單元行和列。。然後用輸出流直接輸出就行了。
package socket;
import java.io.*;
import org.apache.poi.hssf.usermodel.*;
public class ReaderWriterFile {
public String readExcelFile(String filename) {
StringBuffer result = new StringBuffer();
String fileToBeRead = filename;
// 建立對Excel工作簿檔案的引用
HSSFWorkbook workbook = null;
try {
workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 建立對工作表的引用。
HSSFSheet sheet = workbook.getSheetAt(0);
// HSSFSheet sheet = workbook.getSheet("Sheet1");
// 便利所有單元格,讀取單元格
int row_num = sheet.getLastRowNum();
for (int i = 0; i < row_num; i++) {
HSSFRow r = sheet.getRow(i);
int cell_num = r.getLastCellNum();
for (int j = 0; j < cell_num; j++) {
//System.out.println(r.getCell((short)j).getCellType());
if(r.getCell((short)j).getCellType() == 1){
result.append(r.getCell((short) j).getStringCellValue());
}else{
result.append(r.getCell((short) j).getNumericCellValue());
}
result.append("\t");
}
result.append("\n");
}
} catch (FileNotFoundException e) {
System.out.println("檔案沒找到 : " + e);
} catch (IOException e) {
System.out.println("已執行IO異常: " + e);
}
return result.toString();
}
public void writeExcel(String path, String content) {
String outputFile = path;
String data = content;
try {
// 建立新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為預設值
HSSFSheet sheet = workbook.createSheet();
String[] rows = data.split("\n");
for (int i = 0; i < rows.length; i++) {
HSSFRow row = sheet.createRow((short) i);
String[] cells = rows[i].split("\t");
for (int j = 0; j < cells.length; j++) {
HSSFCell cell = row.createCell((short) j);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(cells[j]);
}
}
// 新建一輸出檔案流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存檔
workbook.write(fOut);
fOut.flush();
// 操作結束,關閉檔案
fOut.close();
System.out.println(path + "檔案生成完畢...");
} catch (FileNotFoundException e) {
System.out.println("檔案沒找到 : " + e);
} catch (IOException e) {
System.out.println("已執行IO異常 : " + e);
}
}
public String readWordFile(String filename) {
return "";
}
public static void main(String[] arg) {
ReaderWriterFile rw = new ReaderWriterFile();
String res = rw.readExcelFile("E:/三國將領聚類.xls");
System.out.println(res);
rw.writeExcel("D:\\out.xls", res);
}
}
相關文章
- Java 讀取txt檔案生成Word文件Java
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- Laravel讀取ExcelLaravelExcel
- Go 語言讀寫 Excel 文件GoExcel
- Python讀取Excel表格PythonExcel
- excel-Spreadsheets:讀取Excel電子表格資料的Java原始碼ExcelJava原始碼
- SpringBoot利用java反射機制,實現靈活讀取Excel表格中的資料和匯出資料至Excel表格Spring BootJava反射Excel
- 使用Java通過POI讀取EXCEL中的資料JavaExcel
- java多現場讀取listJava
- python對Excel的讀取PythonExcel
- 用 (Excel) VBA 讀取 OneNote!Excel
- 前端讀取excel檔案前端Excel
- java讀取excel層級結構的遞迴寫法JavaExcel遞迴
- 讀取和儲存Excel表Excel
- POI 分批讀取Excel資料Excel
- Java 新增、讀取、刪除Excel中的圖表趨勢線JavaExcel
- H5以及Node讀取excelH5Excel
- 前端讀取Excel表中資料前端Excel
- csv和excel讀取和下載Excel
- C#讀取Excel方法總結C#Excel
- easypoi 讀取 Excel 簡單應用Excel
- hutool分批次讀取excel資料Excel
- pandas讀取excel亂碼報錯Excel
- Excel上傳並讀取資料Excel
- 讀取本地Excel檔案生成echartsExcelEcharts
- Java實時讀取日誌檔案Java
- java實現文件線上預覽工具Java
- Maatwebsite\Excel 讀取帶公式的excel檔案得到值呢?WebExcel公式
- Excel 讀取圖片並獲取儲存路徑Excel
- nodejs 讀取excel檔案,並去重NodeJSExcel
- Python-使用openpyxl讀取excel內容PythonExcel
- Python筆記一之excel的讀取Python筆記Excel
- python讀取excel所有資料(cmd介面)PythonExcel
- laravel利用Redis來實現網站快取讀取LaravelRedis網站快取
- Java 讀取檔案Java
- 使用openpyxl庫讀取Excel檔案資料Excel
- EasyExcel 輕鬆靈活讀取Excel內容Excel
- eazyexcel 讀取excel資料插入資料庫Excel資料庫
- @PropertySource 註解實現讀取 yml 檔案