µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

Apache POI HSSF and XSSF ¿ìËÙÖ¸ÄÏ °ïÖúÎĵµ API poi-3.15

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/8/4 6:19:19 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

//ÄãÒ²¿ÉÒÔ½«ÈÕÆÚÉèÖÃΪjava.util.Calendar cell = row.createCell(2);

cell.setCellValue(Calendar.getInstance()); cell.setCellStyle(cellStyle);

//½«Êä³öдÈëÎļþ

FileOutputStream fileOut = new FileOutputStream(\ wb.write(fileOut); fileOut.close();

5¡¢Ê¹Óò»Í¬ÀàÐ͵ĵ¥Ôª¸ñ

Workbook wb = new HSSFWorkbook();

Sheet sheet = wb.createSheet(\ Row row = sheet.createRow((short)2); row.createCell(0).setCellValue(1.1);

row.createCell(1).setCellValue(new Date());

row.createCell(2).setCellValue(Calendar.getInstance()); row.createCell(3).setCellValue(\ row.createCell(4).setCellValue(true);

row.createCell(5).setCellType(CellType.ERROR);

//½«Êä³öдÈëÎļþ

FileOutputStream fileOut = new FileOutputStream(\ wb.write(fileOut); fileOut.close();

6¡¢ÔÚÐк͵¥Ôª¸ñÉϵĵü´ú

ÔÚijЩÇé¿öÏÂ,ÔÚµü´úʱ,ÄúÐèÒªÍêÈ«¿ØÖÆÈçºÎ´¦Àíȱʧ»ò¿Õ°×Ðк͵¥Ôª¸ñ, ²¢ÇÒÄúÐèҪȷ±£·ÃÎÊÿ¸öµ¥Ôª¸ñ,¶ø²»½ö½öÊÇÎļþÖж¨ÒåµÄµ¥Ôª¸ñ¡£

(CellIteratorÖ»»á·µ»ØÎļþÖж¨ÒåµÄµ¥Ôª¸ñ,ÕâÖ÷ÒªÊǾßÓÐÖµ»òÑùʽµÄµ¥Ôª¸ñ,µ«ËüÈ¡¾öÓÚExcel)¡£

ÔÚÕâЩÇé¿öÏÂ,ÄúÓ¦¸Ã»ñÈ¡ÐеĵÚÒ»ÁкÍ×îºóÒ»ÁÐÐÅÏ¢,È»ºóµ÷ÓÃgetCell(int,MissingCellPolicy)À´»ñÈ¡µ¥Ôª¸ñ¡£

ʹÓÃMissingCellPolicy¿ØÖÆÈçºÎ´¦Àí¿Õ°×»ò¿Õµ¥Ôª¸ñ¡£ //¾ö¶¨Òª´¦ÀíµÄÐÐ

int rowStart = Math.min(15,sheet.getFirstRowNum()); int rowEnd = Math.max(1400,sheet.getLastRowNum());

for(int rowNum = rowStart; rowNum

Row r = sheet.getRow(rowNum); if(r == null){

//ÕâÕûÐÐÊÇ¿ÕµÄ //¸ù¾ÝÐèÒª´¦ÀíËü continue; }

int lastColumn = Math.max(r.getLastCellNum(),MY_MINIMUM_COLUMN_COUNT); for(int cn = 0; cn

Cell c = r.getCell(cn,Row.RETURN_BLANK_AS_NULL); if(c == null){

//´Ëµ¥Ôª¸ñÖеĵç×Ó±í¸ñΪ¿Õ } else {

//×öһЩÓÐÓõĵ¥Ôª¸ñµÄÄÚÈÝ } } }

7¡¢»ñÈ¡µ¥Ôª¸ñÄÚÈÝ

Òª»ñÈ¡µ¥Ôª¸ñµÄÄÚÈÝ,ÄãÊ×ÏÈÐèÒªÖªµÀËüÊÇʲôÑùµÄµ¥Ôª¸ñ(ÀýÈç,ÒªÇó×Ö·û´®µ¥Ôª¸ñµÄÊý×ÖÄÚÈÝ»áµÃµ½Ò»¸öNumberFormatException)¡£

Òò´Ë,Äú½«ÐèÒª´ò¿ªµ¥Ôª¸ñµÄÀàÐÍ,È»ºóΪ¸Ãµ¥Ôª¸ñµ÷ÓÃÊʵ±µÄgetter¡£

ÔÚÏÂÃæµÄ´úÂëÖÐ,ÎÒÃÇÑ­»·±éÀúÿ¸öµ¥Ôª¸ñ,´òÓ¡³öµ¥Ôª¸ñµÄÒýÓÃ(ÀýÈçA3),È»ºó´òÓ¡µ¥Ôª¸ñµÄÄÚÈÝ¡£

DataFormatter formatter = new DataFormatter(); Sheet sheet1 = wb.getSheetAt(0); for (Row row : sheet1) { for (Cell cell : row) {

CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex()); System.out.print(cellRef.formatAsString()); System.out.print(\

//ͨ¹ý»ñÈ¡µ¥Ôª¸ñÖµ²¢Ó¦ÓÃÈκÎÊý¾Ý¸ñʽ(ÈÕÆÚ,0.00,1.23e9,$ 1.23µÈ)»ñÈ¡µ¥Ôª¸ñÖÐÏÔʾµÄÎı¾¡£

String text = formatter.formatCellValue(cell); System.out.println(text);

//»òÕß,×Ô¼º»ñȡֵºÍ¸ñʽ»¯ switch (cell.getCellTypeEnum()) { case CellType.STRING:

System.out.println(cell.getRichStringCellValue().getString()); break;

case CellType.NUMERIC:

if (DateUtil.isCellDateFormatted(cell)) {

System.out.println(cell.getDateCellValue()); } else {

System.out.println(cell.getNumericCellValue()); }

break;

case CellType.BOOLEAN:

System.out.println(cell.getBooleanCellValue()); break;

case CellType.FORMULA:

System.out.println(cell.getCellFormula()); break;

case CellType.BLANK: System.out.println(); break; default:

System.out.println(); } } }

8¡¢Îı¾ÌáÈ¡

¶ÔÓÚ´ó¶àÊýÎı¾ÌáÈ¡ÐèÇó,±ê×¼ExcelExtractorÀàÓ¦¸ÃÌṩÁËÄúËùÐèÒªµÄ¡£ InputStream inp = new FileInputStream(\

HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp)); ExcelExtractor extractor = new ExcelExtractor(wb);

extractor.setFormulasNotResults(true); extractor.setIncludeSheetNames(false); String text = extractor.getText();

¶ÔÓڷdz£ÆæÌصÄÎı¾ÌáÈ¡,XLSµ½CSVµÈ,¿´¿´/src /examples /src /org /apache /poi /hssf /eventusermodel /examples /XLS2CSV mra.java

9¡¢ÎļþÓëInputStreams

´ò¿ªWorkbook (.xls HSSFWorkbook»ò.xlsx XSSFWorkbook)ʱ,¿ÉÒÔ´ÓÎļþ»òInputStream¼ÓÔØWorkbook ¡£Ê¹ÓÃFile¶ÔÏóÔÊÐí½ÏµÍµÄÄÚ´æÏûºÄ,¶øInputStreamÐèÒª¸ü¶àµÄÄÚ´æ,ÒòΪËü±ØÐë

»º³åÕû¸öÎļþ¡£

Èç¹ûʹÓÃWorkbookFactory,ºÜÈÝÒ×ʹÓÃÒ»¸ö»òÁíÒ»¸ö: //ʹÓÃÎļþ

Workbook wb = WorkbookFactory.create(new File(\

//ʹÓÃInputStream,ÐèÒª¸ü¶àÄÚ´æ

Workbook wb = WorkbookFactory.create(new FileInputStream(\

Èç¹ûÖ±½ÓʹÓÃHSSFWorkbook»òXSSFWorkbook,ͨ³£Ó¦¸Ãͨ¹ýPOIFSFileSystem»òOPCPackageÀ´ÍêÈ«¿ØÖÆÉúÃüÖÜÆÚ(°üÀ¨Íê³Éºó¹Ø±ÕÎļþ): //HSSFWorkbook, File

NPOIFSFileSystem fs = new NPOIFSFileSystem(new File(\ HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true); ....

fs.close();

//HSSFWorkbook, InputStream, ÐèÒª¸ü¶àÄÚ´æ

NPOIFSFileSystem fs = new NPOIFSFileSystem(myInputStream); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true);

//XSSFWorkbook, File

OPCPackage pkg = OPCPackage.open(new File(\ XSSFWorkbook wb = new XSSFWorkbook(pkg); ....

pkg.close();

//XSSFWorkbook, InputStream, ÐèÒª¸ü¶àÄÚ´æ

OPCPackage pkg = OPCPackage.open(myInputStream); XSSFWorkbook wb = new XSSFWorkbook(pkg); ....

pkg.close();

10¡¢¶ÔÆëµ¥Ôª¸ñ

public static void main(String[] args) throws Exception {

Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook(); Sheet sheet = wb.createSheet();

Row row = sheet.createRow((short) 2); row.setHeightInPoints(30);

createCell(wb, row, (short) 0, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_BOTTOM); createCell(wb, row, (short) 1, CellStyle.ALIGN_CENTER_SELECTION,

ËÑË÷¸ü¶à¹ØÓÚ£º Apache POI HSSF and XSSF ¿ìËÙÖ¸ÄÏ µÄÎĵµ
Apache POI HSSF and XSSF ¿ìËÙÖ¸ÄÏ °ïÖúÎĵµ API poi-3.15.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c4l36s8ne4l6zh7t4fk6m_2.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top