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

poi读写Excel

    博客分类:
  • java
 
阅读更多

Poi可操作Excel2003 xls、Excel2007 xlsx。

下载地址:http://poi.apache.org/download.html

导入下载后的相关包到工程。

poi读写示例代码:

 

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.pm.commons.FinalData;
import com.pm.commons.Format;
import com.pm.report.bean.LiquidationBean;

import de.schlichtherle.io.FileInputStream;
import de.schlichtherle.io.FileOutputStream;

/**
 * Excel Poi工具类
 * 
 * @author dwen 2014-8-18
 */
public class ExcelPoiUtils {

	private static Logger logger = LoggerFactory.getLogger(ExcelPoiUtils.class);
public static final String[] LIQUIDATION_COLUMN_NAME = new String[]{
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题",
        "标题"
    };
	/** 列名 */
	private static void initKuaiQianLabel(XSSFSheet sheet) {
		// 标题行
		XSSFRow row = sheet.createRow(0);
		for (int x = 0; x < LIQUIDATION_COLUMN_NAME.length; x++) {
			XSSFCell cell = row.createCell(x);
			cell.setCellType(XSSFCell.CELL_TYPE_STRING);// 文本格式
			cell.setCellValue(LIQUIDATION_COLUMN_NAME[x]);// 写入内容
		}
	}

	/**
	 * 读xlsx
	 * 
	 * @param filePath
	 * @return
	 */
	public static List<LiquidationBean> readKuaiQianXlsx(String filePath,int s) {
		if (!filePath.endsWith("xlsx")) {
			return null;
		}
		List<LiquidationBean> list = new ArrayList<LiquidationBean>();
		try {
			InputStream input = new FileInputStream(filePath);
			XSSFWorkbook wb = new XSSFWorkbook(input);
			XSSFSheet sheet = wb.getSheetAt(s);// 获得第一个表单
			for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
				LiquidationBean bean = new LiquidationBean();
				XSSFRow row = sheet.getRow(i);
				String cell = row.getCell(6).toString();// 交易金额
				bean.setAmountStr(cell);
				String cell_2 = row.getCell(14).toString();// 外部跟踪编号
				bean.setLocallogno(cell_2.substring(cell_2.length() - 6,
						cell_2.length()));
				list.add(bean);
			}
		} catch (FileNotFoundException e) {
			logger.error(e.getMessage());
		} catch (IOException e) {
			logger.error(e.getMessage());
		}
		return list;
	}

	/**
	 * 写xlsx
	 * @param filePath
	 * @param czFailureList
	 * @param czSuccessList
	 * @param czList
	 * @param sList
	 * @param fList
	 */
	public static boolean writeKuaiQianXlsx(String filePath,List<LiquidationBean> czFailureList,
			List<LiquidationBean> czSuccessList, List<LiquidationBean> czList,
			List<LiquidationBean> sList, List<LiquidationBean> fList) {
		try {
			FileOutputStream output = new FileOutputStream(new File(filePath)); // 读取的文件路径
			XSSFWorkbook wb = new XSSFWorkbook();
			XSSFSheet sheet = wb.createSheet("测试1");
			// 始化报表标题Label
			initKuaiQianLabel(sheet);
			// 写数据到excel单元格中
			addCell(sheet, czFailureList);
			
			XSSFSheet sheet2 = wb.createSheet("测试2");
			// 始化报表标题Label
			initKuaiQianLabel(sheet2);
			// 写数据到excel单元格中
			addCell(sheet2, czSuccessList);
			
			XSSFSheet sheet3 = wb.createSheet("测试3");
			// 始化报表标题Label
			initKuaiQianLabel(sheet3);
			// 写数据到excel单元格中
			addCell(sheet3, czList);
			
			XSSFSheet sheet4 = wb.createSheet("测试4");
			// 始化报表标题Label
			initKuaiQianLabel(sheet4);
			// 写数据到excel单元格中
			addCell(sheet4, sList);
			
			XSSFSheet sheet5 = wb.createSheet("测试5");
			// 始化报表标题Label
			initKuaiQianLabel(sheet5);
			// 写数据到excel单元格中
			addCell(sheet5, fList);
			
			wb.write(output);
			output.close();
		} catch (FileNotFoundException e) {
			logger.error(e.getMessage());
			return false;
		} catch (IOException e) {
			logger.error(e.getMessage());
			return false;
		}
		return true;
	}

	/**
	 * 添加单元格内容
	 * 
	 * @param sheet
	 * @param beans
	 */
	private static void addCell(XSSFSheet sheet, List<LiquidationBean> beans) {
		for (int i = 0; i < beans.size(); i++) {
			XSSFRow row2 = sheet.createRow(i + 1);
			LiquidationBean bean = beans.get(i);
			// 服务代码(服务名称)
			XSSFCell cell_0 = row2.createCell(0);
			cell_0.setCellValue(bean.getServcode());

			XSSFCell cell_1 = row2.createCell(1);
			cell_1.setCellValue(bean.getTradecode());

			XSSFCell cell_2 = row2.createCell(2);
			cell_2.setCellValue(bean.getLocaldate());

			XSSFCell cell_3 = row2.createCell(3);
			cell_3.setCellValue(bean.getLocallogno());

			XSSFCell cell_4 = row2.createCell(4);
			cell_4.setCellValue(bean.getCustomerid());

			XSSFCell cell_5 = row2.createCell(5);
			cell_5.setCellValue(bean.getMobileNo());

			XSSFCell cell_6 = row2.createCell(6);
			cell_6.setCellValue(bean.getAccount());

			XSSFCell cell_7 = row2.createCell(7);
			cell_7.setCellValue(bean.getAmountStr());

			XSSFCell cell_8 = row2.createCell(8);
			cell_8.setCellValue(bean.getStatus());
			XSSFCell cell_9 = row2.createCell(9);
			cell_9.setCellValue(bean.getPaytag());
			XSSFCell cell_10 = row2.createCell(10));
			cell_10.setCellValue(Format.fty(String.valueOf(bean.getFee())));
		}
	}

}

 

 

分享到:
评论

相关推荐

    poi读写excel

    poi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excel

    POI读取Excel带格式数据

    标题 "POI读取Excel带格式数据" 涉及到的是Apache POI库在Java中的使用,这个库允许开发者处理Microsoft Office格式的文件,包括Excel。Apache POI是一个开源项目,提供了API来读取、写入和修改Excel文档。在本场景...

    利用POI读取excel写入到word

    本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,我们需要了解Apache POI的基本概念。POI提供了一组API,允许程序员在Java应用程序中创建、修改和显示这些文件。对于Excel...

    poi读取excel并输出到jsp页面

    标题中的“poi读取excel并输出到jsp页面”是指使用Apache POI库来处理Microsoft Excel文件,并将数据在JavaServer Pages (JSP) 页面上显示的技术。Apache POI 是一个开源项目,它允许开发者创建、修改和显示MS ...

    android5使用poi读取excel

    android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel

    poi读取excel文件

    标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...

    poi读写excel+poi总结

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

    android POI 读取excel 精简jar

    在Android平台上,使用Apache POI库来读取Excel文件是一种常见的解决方案。Apache POI是一个流行的开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个“android ...

    poi读取excel文件实例(兼容excel2007)

    在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...

    POI读取excel的内容.zip

    本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.poi ...

    poi读取Excel用到的jar包

    标题提到的“poi读取Excel用到的jar包”指的是在Java项目中使用POI库进行Excel操作所需引入的依赖文件。这些jar包在描述中给出,包括了以下几个: 1. poi-ooxml-schemas-3.8-beta5-20111217.jar:这个文件包含了...

    poi 读取excel小实例

    实现了JAVA 窗口,读取EXCEL文件,用poi读取EXCEL内容只是一个小例子

    apache POI 读取 Excel

    apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI读取Excel** 读取Excel主要涉及以下步骤: 1. **打开Workbook**:通过 FileInputStream 读取Excel文件,然后创建Workbook对象。 2. **获取Sheet**:从Workbook中获取需要的Sheet。 3. **遍历Row和Cell**:...

    POI读写excel文件+poi简单文档

    这个库使得在Java应用程序中创建、修改和读取Excel文件变得非常容易。在这个“POI读写excel文件+poi简单文档”中,我们将深入探讨如何利用Apache POI进行Excel文件的读写操作。 首先,我们需要了解POI的主要组件:...

    java POI读取excel文件数据

    在这个场景中,我们将详细探讨如何使用Java POI读取Excel文件中的数据,包括获取总行数、列数、单元格内容、合并单元格、行高、列宽以及图片等信息。 首先,确保在项目中已经引入了Apache POI的依赖库。如果你使用...

    poi读取excel2007和2003兼容工具例子

    在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...

    poi读取excel并校验小例子

    本示例将深入探讨如何使用Apache POI来读取Excel数据,并结合文件系统操作进行特定的校验。 首先,Apache POI提供了一系列接口和类,如`XSSFWorkbook`用于处理.xlsx格式的Excel文件,` XSSFSheet `代表一个工作表,...

    POI读取excel的例子

    POI读取excel的例子

Global site tag (gtag.js) - Google Analytics