`

POI 读取Excel

 
阅读更多

POI处理Excel 的例子。

 1 读取Excel见附件中 ReadExce/src/test/ReadExcel.java 

 

2 写Excel的简单使用:

 

package test3;
 
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.hssf.util.Region;

public class WriteExcel {

    /**
     * 写Excel的简单使用 
     */
    public static void main(String[] args) throws Exception {
            // 创建Excel的工作书册 Workbook,对应到一个excel文档
            HSSFWorkbook wb = new HSSFWorkbook();

            // 创建Excel的工作sheet,对应到一个excel文档的tab
            HSSFSheet sheet = wb.createSheet("sheet名字");

            // 设置excel每列宽度
            sheet.setColumnWidth((short)0, (short)4000); //设置第0列的宽 
            sheet.setColumnWidth((short)1, (short)3500); //设置第1列的宽 

            // 创建字体样式
            HSSFFont font = wb.createFont();
            font.setFontName("Verdana");
            font.setBoldweight((short) 100);
            font.setFontHeight((short) 300);
            font.setColor(HSSFColor.BLUE.index);

            // 创建单元格样式
            HSSFCellStyle style = wb.createCellStyle();
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
            style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

            // 设置边框
            style.setBottomBorderColor(HSSFColor.RED.index);
            style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
            style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
            style.setBorderRight(HSSFCellStyle.BORDER_THIN);
            style.setBorderTop(HSSFCellStyle.BORDER_THIN);

            style.setFont(font);// 设置字体

            // 创建Excel的sheet的一行
            HSSFRow row = sheet.createRow(0);
            row.setHeight((short) 500);// 设定行的高度
            // 创建一个Excel的单元格
            HSSFCell cell = row.createCell((short)0);

            // 合并单元格(startRow,endRow,startColumn,endColumn)
            sheet.addMergedRegion(new Region(0, (short)0, 0, (short)2));
             
            // 给Excel的单元格设置样式和赋值
            cell.setCellStyle(style);
            cell.setCellValue("hello world");

            // 设置单元格内容格式
            HSSFCellStyle style1 = wb.createCellStyle();
            style1.setDataFormat(HSSFDataFormat.getBuiltinFormat("h:mm:ss"));

            style1.setWrapText(true);// 自动换行

            row = sheet.createRow(1);

            //设置单元格的样式格式
            cell = row.createCell((short)0);
            cell.setCellStyle(style1);
            cell.setCellValue(new Date());

            FileOutputStream os = new FileOutputStream("e:\\workbook.xls");
            wb.write(os);
            os.close();
    }

}
   
   这个Excel写在了本地,如果要实现网络下载Excel 则将创建的excel写到网络流中: 
   添加如下代码: 
    
		response.reset();//可以加也可以不加 这个是httpServletResponse 
		response.setContentType("application/x-download");
		String filedisplay = "统计表.xls";
		
		String Agent = request.getHeader("User-Agent");
		
		try { //不同浏览器文件名编码不一样 
			if (null != Agent) {
				Agent = Agent.toLowerCase();
				if (Agent.indexOf("firefox") != -1) {
						filedisplay = new String(filedisplay.getBytes(), "iso8859-1");
				}  else {
						filedisplay = URLEncoder.encode(filedisplay, "UTF-8");
				}
			} else {
					filedisplay = URLEncoder.encode(filedisplay, "UTF-8");
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		
		response.addHeader("Content-Disposition", "attachment;filename="
				+ filedisplay);
		///////////////////////////////
		//		将数据写回前台
		OutputStream outp = null;
		try {
			outp = response.getOutputStream();
			wb.write(outp); //wb 就是HSSFWorkbook  实例
			outp.flush();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				outp.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
	}
 
 
 
 
 

 

分享到:
评论

相关推荐

    POI读取Excel带格式数据

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

    利用POI读取excel写入到word

    要实现"利用POI读取excel写入到word",我们需要以下步骤: 1. **准备环境**:首先,确保你的项目已经引入了Apache POI的依赖。在给定的压缩包中,"poi - 副本"可能是包含POI库的JAR文件,你需要将其添加到你的项目...

    poi读取excel并输出到jsp页面

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

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

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

    android POI 读取excel 精简jar

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

    poi读取excel文件

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

    android5使用poi读取excel

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

    POI读取excel的内容.zip

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

    apache POI 读取 Excel

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

    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内容只是一个小例子

    POI读取Excel

    在这个例子中,我们主要关注如何使用POI读取Excel文件。以下是对给定代码的详细解释以及相关知识点: 1. **导入所需的库**: 首先,我们需要导入Apache POI相关的类,如`File`, `FileInputStream`, `IOException`,...

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

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

    java POI读取excel文件数据

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

    poi读取excel并校验小例子

    在"poi读取excel并校验小例子"中,我们可能首先创建一个`XSSFWorkbook`实例来打开Excel文件,然后通过工作表索引获取对应的`XSSFSheet`对象。例如: ```java FileInputStream fis = new FileInputStream("example....

    poi读取excel所需jar包,需要的自取

    标题提到的"poi读取excel所需jar包"主要涉及以下组件: 1. **poi-3.8-20120326.jar**:这是Apache POI的主要库,包含了处理Excel(HSSF和XSSF)以及其他Office文档的核心功能。版本3.8是一个较早的版本,但仍然能够...

    POI读取excel的例子

    POI读取excel的例子

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

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

    POI读取EXCEL教程

    读取Excel文件使用HSSF的usermodel API非常直观。首先,你需要创建一个`InputStream`,然后实例化`HSSFWorkbook`: ```java InputStream myxls = new FileInputStream("workbook.xls"); HSSFWorkbook wb = new ...

Global site tag (gtag.js) - Google Analytics