`
onlydo
  • 浏览: 168820 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

poi使用

    博客分类:
  • java
阅读更多
利用poi操作excel 备忘如下

写操作:
FileOutputStream fos = new FileOutputStream("d:/stock.xls");
			HSSFWorkbook wb = new HSSFWorkbook();
			HSSFSheet s = wb.createSheet();
			wb.setSheetName(0, "stock");

			HSSFCell cell;
			int i = 0;
			
			HSSFCellStyle numberCellStyle = wb.createCellStyle();
			HSSFDataFormat numberFormat = wb.createDataFormat();
			numberCellStyle.setDataFormat(numberFormat.getFormat("0.00"));	
			
			HSSFCellStyle profitCellStyle = wb.createCellStyle();
			HSSFDataFormat profitFormat = wb.createDataFormat();			
			profitCellStyle.setDataFormat(profitFormat.getFormat("0.00%"));	
			
			for (Iterator it = data1.iterator(); it.hasNext();) {
				Map m = (Map) it.next();
				HSSFRow row = s.createRow(i++);
				String name = (String) m.get("NAME");
				cell = row.createCell(0);				
				cell.setCellValue(name);

				String code = (String) m.get("CODE");
				cell = row.createCell(1);
				cell.setCellValue(code);

				BigDecimal importPrice = (BigDecimal) m.get("IMPORT_PRICE");
				cell = row.createCell(2);				
				cell.setCellStyle(numberCellStyle); 
				cell.setCellValue(importPrice.doubleValue());

				BigDecimal closePrice = (BigDecimal) m.get("CLOSE_PRICE");
				cell = row.createCell(3);
				cell.setCellStyle(numberCellStyle);
				cell.setCellValue(closePrice.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());

				String profit = (String) m.get("PROFIT");
				cell = row.createCell(4);
				cell.setCellValue(profit);
				
				cell = row.createCell(5);
				cell.setCellFormula(getProfitFomulaByRowNum(row.getRowNum()));
				cell.setCellStyle(profitCellStyle);
				
			}
wb.write(fos);
			fos.close();


读操作:
FileInputStream fis = new FileInputStream(
					"D:/eclipse/workspaces/handworkspace/xyzq/xyzq-data/data/stockpool.xls"); // 根据excel文件路径创建文件流
			POIFSFileSystem fs = new POIFSFileSystem(fis); // 利用poi读取excel文件流
			HSSFWorkbook wb = new HSSFWorkbook(fs); // 读取excel工作簿
			HSSFSheet sheet = wb.getSheetAt(0); // 读取excel的sheet,0表示读取第一个、1表示第二个.....
			Map cateMap = cateMap();
			// 获取sheet中总共有多少行数据sheet.getPhysicalNumberOfRows()
			// log.info("sheet.getPhysicalNumberOfRows()="+sheet.getPhysicalNumberOfRows());
			for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {
				HSSFRow row = sheet.getRow(i); // 取出sheet中的某一行数据
				if (row != null) {
					StringBuffer sb = new StringBuffer();
					sb.append(row.getCell(0).getStringCellValue()).append(" ")
							.append(row.getCell(1).getStringCellValue())
							.append(" ").append(
									row.getCell(2).getDateCellValue()).append(
									" ").append(
									row.getCell(3).getNumericCellValue())
							.append(" ").append(
									row.getCell(4).getStringCellValue())
							.append(" ").append(
									row.getCell(5).getStringCellValue())
							.append(" ");
					System.out.println(sb);
					Map param = new HashMap();
					param.put("CODE", row.getCell(0).getStringCellValue());
					param.put("NAME", row.getCell(1).getStringCellValue());
					param.put("IMPORT_TIME", row.getCell(2).getDateCellValue());
					param.put("IMPORT_PRICE", new BigDecimal(row.getCell(3)
							.getNumericCellValue()).setScale(2,
							BigDecimal.ROUND_HALF_UP));
					param.put("DESCRIPTION", row.getCell(5)
							.getStringCellValue());
					param.put("RISK_PROMPT", row.getCell(6)
							.getStringCellValue());
					param.put("POOL", new Long(STOCK_POOL_TYPE_0));
					param.put("CATE_ID", cateMap.get(row.getCell(4)
							.getStringCellValue()));
					this.insert("TG_STOCK_POOL", param);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
分享到:
评论

相关推荐

    POI使用模板导出.zip

    标题中的"POI使用模板导出.zip"表明这是一个关于使用Apache POI库在Java中处理Excel模板并导出带有复杂表头(合并行和合并列)的案例。Apache POI是一个流行的开源库,专用于读取和写入Microsoft Office格式的文件,...

    poi-bin-3.9-20121203附带poi使用说明文档

    描述中提到的"附带poi使用说明文档"意味着这个压缩包不仅包含库文件,还提供了使用Apache POI的指导文档,方便开发者理解和应用。 Apache POI库的核心组件包括: 1. **HSSF (Horrible Spreadsheet Format)**:主要...

    java_POI使用设置教程

    以下是对Java POI使用的一些核心知识点的详细说明: 1. **安装与引入**:首先,你需要在项目中添加Java POI的依赖。如果是Maven项目,可以在pom.xml文件中添加对应的依赖项,如`poi`, `poi-ooxml` 和 `poi-ooxml-...

    POI使用Excel模板文件循环输出行并导出Excel

    在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...

    poi使用和实例的文档

    在“POI使用方法表.doc”中,你可能会了解到以下知识点: 1. **安装与引入Apache POI**:通常,你需要将POI的JAR文件添加到你的项目类路径中,或者通过Maven或Gradle等构建工具来管理依赖。 2. **创建Word文档**:...

    poi使用说明

    POI_3.8_API.CHM; POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf; poi-bin-3.9-20121203.zip; poi使用总结.txt; POI整理.doc;

    poi使用方法

    poi使用方法及介绍,是个很不错的导入导出excl很不错

    POI使用word模板文件循环输出行并导出word

    在这个例子中,我们将探讨如何使用POI库来处理Word文档,特别是利用模板文件循环输出表格行并导出新的Word文档。这个过程在数据分析、报告生成或自动化文档制作等场景中非常有用。 首先,我们需要理解Word文档的...

    java基于poi使用excel模板导出

    本篇文章将深入探讨如何使用Apache POI基于模板来导出Excel文件,以满足数据展示和报告生成的需求。 首先,我们需要理解Apache POI的工作原理。POI库允许Java程序与Microsoft Excel的文件格式进行交互,提供了对XLS...

    poi 生成pdf等

    **Apache POI使用详解:** Apache POI提供了丰富的接口和类,用于处理Microsoft Office格式的文件。对于Word文档,主要使用的类有`XWPFDocument`(用于处理.docx文件)和`HWPFDocument`(用于处理.doc文件)。这些类...

    Apache POI for Android

    POI 使用了一种叫做HSSF(Horizontally Stored Spreadsheet Format)的API来处理老版本的Excel(.xls)文件,而XSSF则是用于处理新的XML格式的Excel(.xlsx)文件。 2. **Apache POI for Android** 尽管Apache POI...

    poi使用总结

    个人整理的POI解析EXCEL常用API详解 里面包括我在使用过程中的一些心得

    对Apache POI的使用

    以下是对Apache POI使用的一些核心知识点的详细说明: 1. **Excel处理**: - **HSSF与XSSF**: Apache POI提供了两种API来处理Excel文件。HSSF(Horrible Spreadsheet Format)用于读写老版本的`.xls`文件,而XSSF...

    Java实现Excel读写的poi 5.2.1版本jar

    `commons-collections4-4.4.jar`:Apache Commons Collections库提供了各种集合框架的增强功能,POI使用它来优化数据处理。 `poi-examples-5.2.1.jar`:包含了一些示例代码,可以帮助开发者了解如何使用POI库来处理...

    利用POI读取excel写入到word

    对于Excel(.xlsx或.xls)文件,POI使用HSSF(Horrible Spreadsheet Format)和XSSF(eXtended Spreadsheet Format)API,分别处理老版本的BIFF格式和新版本的OOXML格式。对于Word(.docx)文件,POI使用XWPF...

    POI-TL合并多个Word文档

    而对于Word文档,POI使用了XWPF(XML Word Processing Format)类来操作.docx文件。而POI-TL(Template Literal)则进一步简化了这一过程,提供了一种模板化的编程方式,使得在Java中生成和编辑复杂Word文档变得更加...

    poi3.17详情版,附带实例代码,可参考

    总的来说,“poi3.17详情版”是一个包含了详细示例代码的资源包,对于想要学习或提升Apache POI使用技巧的Java开发者来说,这是一个很好的学习材料。如果在使用过程中遇到问题,可以联系博主获取技术支持。

    poi3.9 依赖的jar包

    8. **commons-codec-1.5.jar**:Apache Commons Codec库,提供了一系列编码和解码算法,如Base64、Hex等,POI使用它来进行数据编码。 9. **commons-lang3-3.1.jar**:Apache Commons Lang库,提供了一些高级字符串...

    android中poi生成word文档和excel文档

    2. **Android环境下的POI使用**:由于Android系统不直接支持Java的JAF(JavaBeans Activation Framework)和JDBC,所以使用POI时需要特殊处理。通常,开发者会使用第三方库如Apache POI-OOXML-Simple,这是一个轻量...

    POI 4 包以及所有依赖包

    10. **poi-examples-4.0.1.jar**:这个库包含了一些示例代码,可以帮助开发者更好地理解和使用 POI,通过查看和运行这些例子,可以学习如何读取、写入和修改 Excel 文件。 通过这些库,开发者可以在 Java 应用程序...

Global site tag (gtag.js) - Google Analytics