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);
}
}
相關文章
- C#讀取Excel文件C#Excel
- 一個自己實現的Excel as relate db讀取庫go-excelExcelGo
- java讀取Excel匯入匯出工具JavaExcel
- Java 讀取txt檔案生成Word文件Java
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- Laravel讀取ExcelLaravelExcel
- Go 語言讀寫 Excel 文件GoExcel
- excel 資料讀取Excel
- Java NPOI 讀取Excel 跳列 問題解決JavaExcel
- java文件線上播放實現Java
- JAVA讀寫excelJavaExcel
- pio and topio
- java多現場讀取listJava
- excel-Spreadsheets:讀取Excel電子表格資料的Java原始碼ExcelJava原始碼
- 使用Java通過POI讀取EXCEL中的資料JavaExcel
- java 讀取excel 檔案 Unable to recognize OLE stream 錯誤JavaExcel
- Python讀取Excel表格PythonExcel
- PHPExcel讀取excel資料PHPExcel
- JavaPoi建立與讀取ExcelJavaExcel
- vb.net 讀取ExcelExcel
- NPOI讀取Excel官方demoExcel
- WinForm讀取Excel檔案ORMExcel
- 前端讀取excel檔案前端Excel
- Java讀取大檔案的高效率實現Java
- SpringBoot利用java反射機制,實現靈活讀取Excel表格中的資料和匯出資料至Excel表格Spring BootJava反射Excel
- 一個java讀取word文件並將其寫入xml文件的例子JavaXML
- java讀取excel層級結構的遞迴寫法JavaExcel遞迴
- 讀取和儲存Excel表Excel
- python對Excel的讀取PythonExcel
- POI 分批讀取Excel資料Excel
- 前端讀取Excel表中資料前端Excel
- PHPExcel讀取excel檔案示例PHPExcel
- 用 (Excel) VBA 讀取 OneNote!Excel
- PHP讀取Excel之Spreadsheet_Excel_ReaderPHPExcel
- java實現文件線上預覽工具Java
- C# 讀取XML文件 (轉)C#XML
- Java 新增、讀取、刪除Excel中的圖表趨勢線JavaExcel
- 解析xlsx檔案---Java讀取Excel2007JavaExcel