`

Apache POI HSSF读写Excel总结

    博客分类:
  • java
阅读更多

Apache POI HSSF和XSSF读写EXCEL总结
HSSF是指2007年以前的,XSSF是指2007年版本以上的
这个还是比较好用的,这些总结来自Apache的官方向导的点点滴滴
还有好多没有没有写的,详细的请参考http://poi.apache.org/spreadsheet/quick-guide.html
还有LOG也比较好看

Java代码 复制代码
  1. public class SummaryHSSF {   
  2.   
  3.     public static void main(String[] args) throws IOException {   
  4.         //创建Workbook对象(这一个对象代表着对应的一个Excel文件)   
  5.                      //HSSFWorkbook表示以xls为后缀名的文件   
  6.         Workbook wb = new HSSFWorkbook();   
  7.         //获得CreationHelper对象,这个应该是一个帮助类   
  8.         CreationHelper helper = wb.getCreationHelper();   
  9.         //创建Sheet并给名字(表示Excel的一个Sheet)   
  10.         Sheet sheet1 = wb.createSheet("HSSF_Sheet_1");         
  11.         Sheet sheet2 = wb.createSheet("HSSF_Sheet_2");   
  12.         //Row表示一行Cell表示一列   
  13.         Row row = null;   
  14.         Cell cell = null;   
  15.         for(int i=0;i<60;i=i+2){   
  16.             //获得这个sheet的第i行   
  17.             row = sheet1.createRow(i);   
  18.             //设置行长度自动              
  19.             //row.setHeight((short)500);   
  20.             row.setHeightInPoints(20);   
  21.             //row.setZeroHeight(true);   
  22.             for(int j=0;j<25;j++){          
  23.                 //设置每个sheet每一行的宽度,自动,根据需求自行确定   
  24.                 sheet1.autoSizeColumn(j+1true);   
  25.                 //创建一个基本的样式   
  26.                 CellStyle cellStyle = SummaryHSSF.createStyleCell(wb);   
  27.                 //获得这一行的每j列   
  28.                 cell = row.createCell(j);   
  29.                 if(j==0){   
  30.                     //设置文字在单元格里面的位置   
  31.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);   
  32.                     //先创建字体样式,并把这个样式加到单元格的字体里面   
  33.                     cellStyle.setFont(createFonts(wb));   
  34.                     //把这个样式加到单元格里面   
  35.                     cell.setCellStyle(cellStyle);                      
  36.                     //给单元格设值   
  37.                     cell.setCellValue(true);   
  38.                 }else if(j==1){   
  39.                     //设置文字在单元格里面的位置   
  40.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);   
  41.                     //设置这个样式的格式(Format)   
  42.                     cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "#,##0.0000");                     
  43.                     //先创建字体样式,并把这个样式加到单元格的字体里面   
  44.                     cellStyle.setFont(createFonts(wb));   
  45.                     //把这个样式加到单元格里面   
  46.                     cell.setCellStyle(cellStyle);   
  47.                     //给单元格设值   
  48.                     cell.setCellValue(new Double(2008.2008));   
  49.                 }else if(j==2){   
  50.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);                       
  51.                     cellStyle.setFont(createFonts(wb));   
  52.                     cell.setCellStyle(cellStyle);   
  53.                     cell.setCellValue(helper.createRichTextString("RichString"+i+j));                      
  54.                 }else if(j==3){   
  55.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);   
  56.                     cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "MM-yyyy-dd");   
  57.                     cell.setCellStyle(cellStyle);   
  58.                     cell.setCellValue(new Date());   
  59.                 }else if(j==24){   
  60.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);   
  61.                     cellStyle.setFont(createFonts(wb));   
  62.                     //设置公式   
  63.                     cell.setCellFormula("SUM(E"+(i+1)+":X"+(i+1)+")");                     
  64.                 }else{                     
  65.                     cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);   
  66.                     cellStyle = SummaryHSSF.setFillBackgroundColors(cellStyle,IndexedColors.ORANGE.getIndex(),IndexedColors.ORANGE.getIndex(),CellStyle.SOLID_FOREGROUND);   
  67.                     cell.setCellStyle(cellStyle);   
  68.                     cell.setCellValue(1);   
  69.                 }   
  70.             }   
  71.         }   
  72.         //输出   
  73.         OutputStream os = new FileOutputStream(new File("c://SummaryHSSF.xls"));   
  74.         wb.write(os);   
  75.         os.close();        
  76.     }   
  77.     /**  
  78.      * 边框  
  79.      * @param wb  
  80.      * @return  
  81.      */  
  82.     public static CellStyle createStyleCell(Workbook wb){   
  83.         CellStyle cellStyle = wb.createCellStyle();   
  84.         //设置一个单元格边框颜色   
  85.         cellStyle.setBorderBottom(CellStyle.BORDER_THIN);   
  86.         cellStyle.setBorderTop(CellStyle.BORDER_THIN);   
  87.         cellStyle.setBorderLeft(CellStyle.BORDER_THIN);   
  88.         cellStyle.setBorderRight(CellStyle.BORDER_THIN);   
  89.         //设置一个单元格边框颜色   
  90.         cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());   
  91.         cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());   
  92.         cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());   
  93.         cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());           
  94.         return cellStyle;   
  95.     }   
  96.     /**  
  97.      * 设置文字在单元格里面的位置  
  98.      * CellStyle.ALIGN_CENTER  
  99.      * CellStyle.VERTICAL_CENTER  
  100.      * @param cellStyle  
  101.      * @param halign  
  102.      * @param valign  
  103.      * @return  
  104.      */  
  105.     public static CellStyle setCellStyleAlignment(CellStyle cellStyle,short halign,short valign){   
  106.         //设置上下   
  107.         cellStyle.setAlignment(CellStyle.ALIGN_CENTER);   
  108.         //设置左右   
  109.         cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);   
  110.         return cellStyle;   
  111.     }   
  112.     /**  
  113.      * 格式化单元格  
  114.      * 如#,##0.00,m/d/yy去HSSFDataFormat或XSSFDataFormat里面找  
  115.      * @param cellStyle  
  116.      * @param fmt  
  117.      * @return  
  118.      */  
  119.     public static CellStyle setCellFormat(CreationHelper helper,CellStyle cellStyle,String fmt){   
  120.         //还可以用其它方法创建format   
  121.         cellStyle.setDataFormat(helper.createDataFormat().getFormat(fmt));   
  122.         return cellStyle;   
  123.     }   
  124.     /**  
  125.      * 前景和背景填充的着色  
  126.      * @param cellStyle  
  127.      * @param bg IndexedColors.ORANGE.getIndex();  
  128.      * @param fg IndexedColors.ORANGE.getIndex();  
  129.      * @param fp CellStyle.SOLID_FOREGROUND  
  130.      * @return  
  131.      */  
  132.     public static CellStyle setFillBackgroundColors(CellStyle cellStyle,short bg,short fg,short fp){   
  133.         //cellStyle.setFillBackgroundColor(bg);   
  134.         cellStyle.setFillForegroundColor(fg);   
  135.         cellStyle.setFillPattern(fp);   
  136.         return cellStyle;   
  137.     }   
  138.     /**  
  139.      * 设置字体  
  140.      * @param wb  
  141.      * @return  
  142.      */  
  143.     public static Font createFonts(Workbook wb){   
  144.         //创建Font对象   
  145.         Font font = wb.createFont();   
  146.         //设置字体   
  147.         font.setFontName("黑体");   
  148.         //着色   
  149.         font.setColor(HSSFColor.BLUE.index);   
  150.         //斜体   
  151.         font.setItalic(true);   
  152.         //字体大小   
  153.         font.setFontHeight((short)300);   
  154.         return font;   
  155.     }   
  156. }  
public class SummaryHSSF {

	public static void main(String[] args) throws IOException {
		//创建Workbook对象(这一个对象代表着对应的一个Excel文件)
                     //HSSFWorkbook表示以xls为后缀名的文件
		Workbook wb = new HSSFWorkbook();
		//获得CreationHelper对象,这个应该是一个帮助类
		CreationHelper helper = wb.getCreationHelper();
		//创建Sheet并给名字(表示Excel的一个Sheet)
		Sheet sheet1 = wb.createSheet("HSSF_Sheet_1");		
		Sheet sheet2 = wb.createSheet("HSSF_Sheet_2");
		//Row表示一行Cell表示一列
		Row row = null;
		Cell cell = null;
		for(int i=0;i<60;i=i+2){
			//获得这个sheet的第i行
			row = sheet1.createRow(i);
			//设置行长度自动			
			//row.setHeight((short)500);
			row.setHeightInPoints(20);
			//row.setZeroHeight(true);
			for(int j=0;j<25;j++){		
				//设置每个sheet每一行的宽度,自动,根据需求自行确定
				sheet1.autoSizeColumn(j+1, true);
				//创建一个基本的样式
				CellStyle cellStyle = SummaryHSSF.createStyleCell(wb);
				//获得这一行的每j列
				cell = row.createCell(j);
				if(j==0){
					//设置文字在单元格里面的位置
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);
					//先创建字体样式,并把这个样式加到单元格的字体里面
					cellStyle.setFont(createFonts(wb));
					//把这个样式加到单元格里面
					cell.setCellStyle(cellStyle);					
					//给单元格设值
					cell.setCellValue(true);
				}else if(j==1){
					//设置文字在单元格里面的位置
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);
					//设置这个样式的格式(Format)
					cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "#,##0.0000");					
					//先创建字体样式,并把这个样式加到单元格的字体里面
					cellStyle.setFont(createFonts(wb));
					//把这个样式加到单元格里面
					cell.setCellStyle(cellStyle);
					//给单元格设值
					cell.setCellValue(new Double(2008.2008));
				}else if(j==2){
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);					
					cellStyle.setFont(createFonts(wb));
					cell.setCellStyle(cellStyle);
					cell.setCellValue(helper.createRichTextString("RichString"+i+j));					
				}else if(j==3){
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);
					cellStyle = SummaryHSSF.setCellFormat(helper,cellStyle, "MM-yyyy-dd");
					cell.setCellStyle(cellStyle);
					cell.setCellValue(new Date());
				}else if(j==24){
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);
					cellStyle.setFont(createFonts(wb));
					//设置公式
					cell.setCellFormula("SUM(E"+(i+1)+":X"+(i+1)+")");					
				}else{					
					cellStyle = SummaryHSSF.setCellStyleAlignment(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER);
					cellStyle = SummaryHSSF.setFillBackgroundColors(cellStyle,IndexedColors.ORANGE.getIndex(),IndexedColors.ORANGE.getIndex(),CellStyle.SOLID_FOREGROUND);
					cell.setCellStyle(cellStyle);
					cell.setCellValue(1);
				}
			}
		}
		//输出
		OutputStream os = new FileOutputStream(new File("c://SummaryHSSF.xls"));
		wb.write(os);
		os.close();		
	}
	/**
	 * 边框
	 * @param wb
	 * @return
	 */
	public static CellStyle createStyleCell(Workbook wb){
		CellStyle cellStyle = wb.createCellStyle();
		//设置一个单元格边框颜色
		cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
		cellStyle.setBorderTop(CellStyle.BORDER_THIN);
		cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
		cellStyle.setBorderRight(CellStyle.BORDER_THIN);
		//设置一个单元格边框颜色
		cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
		cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
		cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
		cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());		
		return cellStyle;
	}
	/**
	 * 设置文字在单元格里面的位置
	 * CellStyle.ALIGN_CENTER
	 * CellStyle.VERTICAL_CENTER
	 * @param cellStyle
	 * @param halign
	 * @param valign
	 * @return
	 */
	public static CellStyle setCellStyleAlignment(CellStyle cellStyle,short halign,short valign){
		//设置上下
		cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
		//设置左右
		cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
		return cellStyle;
	}
	/**
	 * 格式化单元格
	 * 如#,##0.00,m/d/yy去HSSFDataFormat或XSSFDataFormat里面找
	 * @param cellStyle
	 * @param fmt
	 * @return
	 */
	public static CellStyle setCellFormat(CreationHelper helper,CellStyle cellStyle,String fmt){
		//还可以用其它方法创建format
		cellStyle.setDataFormat(helper.createDataFormat().getFormat(fmt));
		return cellStyle;
	}
	/**
	 * 前景和背景填充的着色
	 * @param cellStyle
	 * @param bg IndexedColors.ORANGE.getIndex();
	 * @param fg IndexedColors.ORANGE.getIndex();
	 * @param fp CellStyle.SOLID_FOREGROUND
	 * @return
	 */
	public static CellStyle setFillBackgroundColors(CellStyle cellStyle,short bg,short fg,short fp){
		//cellStyle.setFillBackgroundColor(bg);
		cellStyle.setFillForegroundColor(fg);
		cellStyle.setFillPattern(fp);
		return cellStyle;
	}
	/**
	 * 设置字体
	 * @param wb
	 * @return
	 */
	public static Font createFonts(Workbook wb){
		//创建Font对象
		Font font = wb.createFont();
		//设置字体
		font.setFontName("黑体");
		//着色
		font.setColor(HSSFColor.BLUE.index);
		//斜体
		font.setItalic(true);
		//字体大小
		font.setFontHeight((short)300);
		return font;
	}
}


读取Excel文件

Java代码 复制代码
  1. public class ReadExcel {   
  2.     public static void main(String[] args) throws Exception {   
  3.         InputStream is = new FileInputStream(new File("c://SummaryHSSF.xls"));   
  4.         //根据输入流创建Workbook对象   
  5.         Workbook wb = WorkbookFactory.create(is);   
  6.         //get到Sheet对象   
  7.         Sheet sheet = wb.getSheetAt(0);   
  8.         //这个必须用接口   
  9.         for(Row row : sheet){   
  10.             for(Cell cell : row){   
  11.                 //cell.getCellType是获得cell里面保存的值的type   
  12.                 //如Cell.CELL_TYPE_STRING   
  13.                 switch(cell.getCellType()){   
  14.                     case Cell.CELL_TYPE_BOOLEAN:   
  15.                         //得到Boolean对象的方法   
  16.                         System.out.print(cell.getBooleanCellValue()+" ");   
  17.                         break;   
  18.                     case Cell.CELL_TYPE_NUMERIC:   
  19.                         //先看是否是日期格式   
  20.                         if(DateUtil.isCellDateFormatted(cell)){   
  21.                             //读取日期格式   
  22.                             System.out.print(cell.getDateCellValue()+" ");   
  23.                         }else{   
  24.                             //读取数字   
  25.                             System.out.print(cell.getNumericCellValue()+" ");   
  26.                         }   
  27.                         break;   
  28.                     case Cell.CELL_TYPE_FORMULA:   
  29.                         //读取公式   
  30.                         System.out.print(cell.getCellFormula()+" ");   
  31.                         break;   
  32.                     case Cell.CELL_TYPE_STRING:   
  33.                         //读取String   
  34.                         System.out.print(cell.getRichStringCellValue().toString()+" ");   
  35.                         break;                     
  36.                 }   
  37.             }   
  38.             System.out.println("");   
  39.         }   
  40.     }   
  41. }  
public class ReadExcel {
	public static void main(String[] args) throws Exception {
		InputStream is = new FileInputStream(new File("c://SummaryHSSF.xls"));
		//根据输入流创建Workbook对象
		Workbook wb = WorkbookFactory.create(is);
		//get到Sheet对象
		Sheet sheet = wb.getSheetAt(0);
		//这个必须用接口
		for(Row row : sheet){
			for(Cell cell : row){
				//cell.getCellType是获得cell里面保存的值的type
				//如Cell.CELL_TYPE_STRING
				switch(cell.getCellType()){
					case Cell.CELL_TYPE_BOOLEAN:
						//得到Boolean对象的方法
						System.out.print(cell.getBooleanCellValue()+" ");
						break;
					case Cell.CELL_TYPE_NUMERIC:
						//先看是否是日期格式
						if(DateUtil.isCellDateFormatted(cell)){
							//读取日期格式
							System.out.print(cell.getDateCellValue()+" ");
						}else{
							//读取数字
							System.out.print(cell.getNumericCellValue()+" ");
						}
						break;
					case Cell.CELL_TYPE_FORMULA:
						//读取公式
						System.out.print(cell.getCellFormula()+" ");
						break;
					case Cell.CELL_TYPE_STRING:
						//读取String
						System.out.print(cell.getRichStringCellValue().toString()+" ");
						break;					
				}
			}
			System.out.println("");
		}
	}
}



还有一种传统的读法

Java代码 复制代码
  1. Sheet sheet = wb.getSheetAt(0);   
  2.     for (Iterator rit = sheet.rowIterator(); rit.hasNext(); ) {   
  3.         Row row = (Row)rit.next();   
  4.         for (Iterator cit = row.cellIterator(); cit.hasNext(); ) {   
  5.             Cell cell = (Cell)cit.next();   
  6.             // Do something here   
  7.         }   
  8.     }   
  9.                     HSSFSheet sheet = wb.getSheetAt(0);   
  10.     for (Iterator<HSSFRow> rit = (Iterator<HSSFRow>)sheet.rowIterator(); rit.hasNext(); ) {   
  11.         HSSFRow row = rit.next();   
  12.         for (Iterator<HSSFCell> cit = (Iterator<HSSFCell>)row.cellIterator(); cit.hasNext(); ) {   
  13.             HSSFCell cell = cit.next();   
  14.             // Do something here   
  15.         }   
  16.     }  
分享到:
评论

相关推荐

    Apache POI HSSF读写Excel

    以下是对使用Apache POI HSSF进行Excel读写操作的详细知识点: 1. **HSSF模型**:Apache POI使用了一种类似于Excel内部结构的模型来表示工作簿、工作表、行、单元格等元素。HSSFWorkbook代表一个工作簿,HSSFSheet...

    Apache POI HSSF和XSSF读写EXCEL总结

    Apache POI HSSF和XSSF读写EXCEL总结

    apache POI文件读写excel

    总结,Apache POI是Java开发中处理Excel文件的强大工具,涵盖了从基本的读写操作到复杂的格式设置和公式计算。通过熟练掌握Apache POI,开发者可以构建灵活且高效的Excel处理程序,满足各种业务需求。

    POI HSSF - Excel实例

    标题中的“POI HSSF”指的是Apache POI项目中的HSSF组件,这是一个Java库,用于读写Microsoft Excel(.xls)文件格式。Apache POI是一个流行的开源库,它允许开发者在Java应用程序中处理Microsoft Office文档,包括...

    Apache POI HSSF and XSSF 快速指南帮助文档 API poi-3.15

    Apache POI 是一个用于读取和写入 Microsoft Office 格式文件(如 Word 和 Excel)的开源 Java 库。它支持多种格式,包括旧版的二进制格式(例如 .xls 文件)和较新的基于 XML 的格式(例如 .xlsx 文件)。本指南将...

    Apache poi 操作 excel 文件压缩包

    在Java环境中,Apache POI 提供了一套API,使得开发者能够创建、修改和读取Excel文件。这个压缩包包含了Apache POI库的多个版本及其依赖库,如ooxml-schemas、xmlbeans等,用于支持对Excel文件的OOXML(Office Open ...

    org.apache.poi.hssf.converter,office转html所需包

    1. **HSSF API**:这是Apache POI提供用于读写旧版Excel文件的接口。HSSF模型允许开发者操作工作簿(Workbook)、工作表(Sheet)、行(Row)、单元格(Cell)等对象,进行数据的读取和写入。 2. **XSSF API**:...

    Apache POI for Android

    - **读取Excel**:使用Apache POI,开发者可以打开Excel文件,访问工作簿、工作表,以及单元格中的数据。例如,通过`WorkbookFactory.create()`方法加载文件,然后遍历工作表和单元格进行数据提取。 - **写入Excel...

    Apache POI库jar文件

    Apache POI库是一个开源的Java库,可以帮助开发人员处理Microsoft Office格式的文档,例如Word文档、Excel电子表格和PowerPoint演示文稿等。以下是Apache POI库的详细介绍: 支持多种Office格式:Apache POI库支持...

    org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException

    解决POI读取EXCEL时报org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException异常

    Apache POI组件操作Excel,制作报表(四)

    这篇博文将深入探讨如何使用Apache POI组件来创建、修改和读取Excel文件,以实现报表制作。Apache POI提供了HSSF(Horizontally Stored Sheets Format)用于处理.xls格式的旧版Excel文件,以及XSSF(XML Spreadsheet...

    poi读写excel+poi总结

    读取Excel文件时,首先需要使用POI的FileInputStream打开文件,然后创建与文件类型对应的Workbook实例。之后,通过Workbook获取Sheet,再通过Sheet获取Row和Cell,读取其值。 7. 遍历数据 遍历Excel文件通常需要...

    apache poi 读取Excel文件内容(2003,2007)

    这篇博文主要讲解如何使用Apache POI库来读取Excel文件的内容,无论是2003版的.XLS还是2007版及以后的.XLSX格式。 在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地操作Excel文件。首先,我们需要...

    Apache POI资源包

    1. **读取Microsoft Office文件**:通过HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format)API,Apache POI能够读取旧版的Excel文件(.xls)和新版本的Excel文件(.xlsx)。类似地,HWPF...

    Apache POI Excel操作

    在Java开发环境中,Apache POI 提供了丰富的API,使得开发者能够方便地在程序中创建、修改和读取Excel文件。本篇将详细介绍Apache POI在Excel操作中的应用,包括基本概念、使用步骤、关键类和方法以及实际示例。 1....

    Apache Poi Excel导出

    在Java开发中,Apache POI 提供了一种高效且灵活的方式来创建、修改和读取Excel工作簿。这篇博客“Apache Poi Excel导出”可能详细介绍了如何使用Apache POI库来生成Excel文件,特别适用于数据导出或报表生成等场景...

    Apache POI For Java Excel

    在众多处理Excel表格的Java工具中,Apache POI的HSSF组件脱颖而出,成为业界广泛认可的选择。HSSF,即Hadoop SpreadSheet Format,专门用于处理Excel 97-2003(.xls)格式的文件,其强大之处不仅体现在其功能全面性,...

    poi3.9读写EXCEL

    总结起来,Apache POI 3.9在读写Excel方面提供了强大的功能,不仅支持旧版的XLS格式,而且在处理XLSX文件时同样游刃有余。开发者可以根据需求,利用这些API创建复杂的Excel应用,如报表生成、数据分析等。

    Apache POI组件操作Excel,制作报表(三)

    Apache POI是Apache软件基金会的一个开源项目,主要用来读写Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本篇博文中,我们将聚焦于如何使用Apache POI组件来操作Excel,制作报表。这一部分是系列...

    apache poi 导出excel、word

    Apache POI 是一个广泛使用的库,它支持HSSF(Horizontally Stored Spreadsheet Format)和XSSF(XML Spreadsheet Format),分别用于处理老版本的Excel(.xls)和新版本的Excel(.xlsx)文件。此外,它还提供了一...

Global site tag (gtag.js) - Google Analytics