



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java 中導(dǎo)入導(dǎo)出 Excel 文件一.POI簡(jiǎn)介JakartaPOI 是 apache 的子項(xiàng)目,目標(biāo)是處理 ole2 對(duì)象。它提供了一組操縱 Windows 文檔的JavaAPI目前比較成熟的是 HSSF 接口,處理 MSExcel(97-2002)對(duì)象。它不象我們僅僅是用 csv 生成的沒(méi)有格式的可以由 Excel 轉(zhuǎn)換的東西,而是真正的 Excel 對(duì)象,你可以控制一些屬性如 sheet,cell 等等。二.HSSF 概況HSSF 是 sHorribleSpreadSheetFormat 的縮寫(xiě),也即“討厭的電子表格格式“。也許 HSSF 的名字有點(diǎn)滑稽,就本質(zhì)而言它是一個(gè)非常嚴(yán)肅、
2、正規(guī)的 API。通過(guò) HSSF,你可以用純 Java代碼來(lái)讀取、寫(xiě)入、修改 Excel 文件。HSSF 為讀取操作提供了兩類(lèi) API:usermodel 和 eventusermodel,即用戶模型和“事件-用戶模型”。前者很好理解,后者比較抽象,但操作效率要高得多。三.開(kāi)始編碼1 .準(zhǔn)備工作要求:JDK1.4+POI 開(kāi)發(fā)包可以至 U/dyn/closer.cgi/jakarta/poi/最新的 POI 工具包2 .EXCEL 結(jié)構(gòu)HSSFWorkbookexcel 文檔對(duì)象介紹HSSFSheetexcel 的表單HSSFRowexcel 的行HSSF
3、Cellexcel 的格子單元HSSFFontexcel 字體HSSFName 名稱HSSFDataFormat 日期格式HSSFHeadersheet 頭HSSFFootersheet 尾和這個(gè)樣式HSSFCellStylecell 樣式輔助操作包括HSSFDateUtil 日期HSSFPrintSetup 打印HSSFErrorConstants 錯(cuò)誤信息表4 .可參考文檔POI 主頁(yè):/poi/,初學(xué)者如何快速上手使用 POIHSSF/poi/hssf/quick-guide.html。代碼例
4、子http:/blog.java- 的 usermodel 包把 Excel 文件映射成我們熟悉的結(jié)構(gòu),諸如 WorkbookSheet、Row、Cell 等,它把整個(gè)結(jié)構(gòu)以一組對(duì)象的形式保存在內(nèi)存之中,便于理解,操作方便,基本上能夠滿足我們的要求,所以說(shuō)這個(gè)一個(gè)不錯(cuò)的選擇。1.創(chuàng)建工作簿(WORKBOOK)Java 代碼packageExcel2003;importjava.io.FileOutputStream;importjava.io.IOException;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apach
5、e.poi.ss.usermodel.*;/* Tochangethistemplate,chooseTools|Templatesandopenthetemplatein* theeditor.* /* 本文檔用來(lái)學(xué)習(xí) POI 即使用 java 導(dǎo)入導(dǎo)出 excel 表格,創(chuàng)建數(shù)據(jù)表* authorsingle* /publicclassExcel2003_poi_creat/*paramargsthecommandlinearguments*/publicstaticvoidmain(String 口 args)/Excel2003 文檔的創(chuàng)建,即擴(kuò)展名為.xlstry/創(chuàng)建一個(gè)工作簿W(wǎng)o
6、rkbookwb=newHSSFWorkbook();CreationHelpercreateHelper=wb.getCreationHelper();/創(chuàng)建兩個(gè)工作表,sheet1 和sheet2Sheetsheet1=wb.createSheet(sheet1);Sheetsheet2=wb.createSheet(sheet2);/在 Excel 工作表中插入一行數(shù)據(jù)Rowrow=sheet1.createRow(short)0);/此處數(shù)字為在第幾行插入數(shù)據(jù),0 表示工作表第 1 行,1 表示第 2 行,以此類(lèi)推/Createacellandputavalueinit.創(chuàng)建一個(gè)單元并
7、把數(shù)據(jù)寫(xiě)入,0 表示第 N 行第 1 個(gè)單元格,1 表示第 N 行第 2個(gè)單元格Cellcell=row.createCell(0);/此處為單元序號(hào)cell.setCellValue(001);/此處為數(shù)據(jù)/Ordoitononeline./你也可以用一行代碼來(lái)寫(xiě)入數(shù)據(jù)row.createCell(1).setCellValue(1.2);/createCell(1)表示在第 2 個(gè)單元格寫(xiě)入,setCellValue(1.2)表示寫(xiě)入數(shù)據(jù) 1.2row.createCell(2).setCellValue(createHelper.createRichTextString(這就是我);ro
8、w.createCell(3).setCellValue(true);/創(chuàng)建文件try(FileOutputStreamfileOut=newFileOutputStream(e:/workbook.xls)wb.write(fileOut);fileOut.close();catch(IOExceptione)/* Tochangethistemplate,chooseTools|Templates* andopenthetemplateintheeditor.*/packageExcel2003;importjava.io.FileInputStream;importjava.io.Fil
9、eNotFoundException;importjava.io.IOException;importjava.util.Iterator;importjava.util.logging.Level;importjava.util.logging.Logger;importorg.apache.poi.hssf.extractor.ExcelExtractor;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.poifs.filesystem.POIFSFileSystem;importorg.apach
10、e.poi.ss.usermodel.*;/* authorsingle*/publicclassExcel2003_poi_read/*paramargsthecommandlinearguments*/publicstaticvoidmain(Stringargs)try/讀取要導(dǎo)出的 excel 文件POIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream(e:/test.xls);HSSFWorkbookwb=newHSSFWorkbook(fs);ExcelExtractorextractor=newExcelExtractor(
11、wb);extractor.setFormulasNotResults(false);extractor.setIncludeSheetNames(false);/工作表的序號(hào)Sheetsheet1=(Sheet)wb.getSheetAt(0);/開(kāi)始遍歷整個(gè)工作表/*for(Iteratorit=sheet1.rowIterator();it.hasNext();)Rowrow=(Row)it.next();for(Iteratorcit=row.cellIterator();cit.hasNext();)/輸出數(shù)據(jù)if(cit.next().getCellType()=Cell.CELL_TYPE_FORMULA)Cellcell=cit.next();FormulaEvaluatorevaluator=wb.getCreationHelper().createFormulaEvaluator();/把公式行的數(shù)據(jù)計(jì)算出來(lái)CellValuecellValue=evaluator.evaluate(cell);System.out.println(cellValue.toString()+,);elseSystem.out.print(cit.next().toString()+,);*/catch(FileNotFound
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外墻角整改方案書(shū)
- 項(xiàng)目分包服務(wù)方案
- 慰問(wèn)活動(dòng)方案
- 食堂承包挑選方案簡(jiǎn)單
- 2025至2030游樂(lè)設(shè)備產(chǎn)業(yè)行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 民房水電承包方案
- 內(nèi)部巡察審計(jì)方案
- 汽車(chē)格柵包裝方案
- 專(zhuān)業(yè)廣播方案么
- 環(huán)衛(wèi)企業(yè)就業(yè)方案模板
- 螺旋測(cè)微器讀數(shù)練習(xí)(含答案)-文檔
- 熱射病患者的護(hù)理個(gè)案
- 童車(chē)產(chǎn)品設(shè)計(jì)理念
- JBT 1472-2023 泵用機(jī)械密封 (正式版)
- 物理 八年級(jí)上校本作業(yè)
- 角膜板層裂傷查房
- 小學(xué)四年級(jí)道德與法治期末考試質(zhì)量分析
- 呼吸科利用PDCA循環(huán)提高肺功能檢查結(jié)果達(dá)標(biāo)率品管圈QCC成果匯報(bào)
- 鉗工實(shí)操試卷-共44套
- 嶺南版八年級(jí)下冊(cè)美術(shù) 6色彩的表現(xiàn) 課件
- 07FK02防空地下室通風(fēng)設(shè)備安裝圖集
評(píng)論
0/150
提交評(píng)論