如何在EXCEL读数据段 我要在JSP中开发程序,请问如何在JSP中读入EXCEL表的数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用POI,介绍:Jakarta_POI 使用Java读写Excel(97-2002)文件,可以满足大部分的需要。因为刚好有一个项目使用到了这个工具,花了点时间顺便翻译了一下POI本身带的一个Guide.有一些节减和修改,希望给使用这个项目的人一些入门帮助。POI 下面有几个自项目:HSSF用来实现Excel 的读写.以下是HSSF的主页http://jakarta.apache.org/poi/hssf/index.html下面的介绍是基于以下地址的翻译:http://jakarta.apache.org/poi/hssf/quick-guide.html目前的版本为1.51应该是很长时间之内的一个稳定版,但HSSF提供的Sample不是基于1.51所写,所以使用的时候需要适当的注意.其实POI下面的几个子项目侧重不同读写 Word 的HDF正在开发当中.XML下的FOP(http://xml.apache.org/fop/index.html)可以输出pdf文件,也是比较好的一个工具目录:创建一个workbook创建一个sheet创建cells创建日期cells设定单元格格式说明:以下可能需要使用到如下的类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;创建workbookHSSFWorkbook wb = new HSSFWorkbook();//使用默认的构造方法创建workbookFileOutputStream fileOut = new FileOutputStream("workbook.xls");//指定文件名wb.write(fileOut);//输出到文件fileOut.close();创建一个sheetHSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet1 = wb.createSheet("new sheet");//workbook创建sheetHSSFSheet sheet2 = wb.createSheet("second sheet");//workbook创建另外的sheetFileOutputStream fileOut = new FileOutputStream("workbook.xls");wb.write(fileOut);fileOut.close();创建cellsHSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("new sheet");//注意以下的代码很多方法的参数是short 而不是int 所以需要做一次类型转换HSSFRow row = sheet.createRow((short)0);//sheet 创建一行HSSFCell cell = row.createCell((short)0);//行创建一个单元格cell.setCellValue(1);//设定单元格的值//值的类型参数有多中double ,String ,boolean,row.createCell((short)1).setCellValue(1.2);row.createCell((short)2).setCellValue("This is a string");row.createCell((short)3).setCellValue(true);// Write the output to a fileFileOutputStream fileOut = new FileOutputStream("workbook.xls");wb.write(fileOut);fileOut.close();创建日期cellsHSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("new sheet");HSSFRow row = sheet.createRow((short)0);HSSFCell cell = row.createCell((short)0);//设定值为日期cell.setCellValue(new Date());HSSFCellStyle cellStyle = wb.createCellStyle();//指定日期显示格式cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));cell = row.createCell((short)1);cell.setCellValue(new Date());//设定单元格日期显示格式cell.setCellStyle(cellStyle);FileOutputStream fileOut = new FileOutputStream("workbook.xls");wb.write(fileOut);fileOut.close();设定单元格格式单元格格式的设定有很多形式包括单元格的对齐方式,内容的字体设置,单元格的背景色等,因为形式比较多,只举一些例子.以下的例子在POI1.5中可能会有所改变具体查看API...........// Aqua backgroundHSSFCellStyle style = wb.createCellStyle();//创建一个样式style.setFillBackgroundColor(HSSFCellStyle.AQUA);//设定此样式的的背景颜色填充style.setFillPattern(HSSFCellStyle.BIG_SPOTS);//样式的填充类型。//有多种式样如://HSSFCellStyle.BIG_SPOTS//HSSFCellStyle.FINE_DOTS//HSSFCellStyle.SPARSE_DOTS等style.setAlignment(HSSFCellStyle.ALIGN_CENTER );//居中对齐style.setFillBackgroundColor(HSSFColor.GREEN.index);//设定单元个背景颜色style.setFillForegroundColor(HSSFColor.RED.index);//设置单元格显示颜色HSSFCell cell = row.createCell((short) 1);cell.setCellValue("X");cell.setCellStyle(style); 或者参考http://www.javaresearch.org/article/showarticle.jsp?column=331&thread=4804Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。你可以在下面地址下载到最新的POI工具包: http://jakarta.apache.org/poi/index.html下面的代码创建一个Excel文件test.xls,并在第一行的第一格中写入一条消息:import org.apache.poi.hssf.usermodel.*; import java.io.FileOutputStream; // code run against the jakarta-poi-1.5.0-FINAL-20020506.jar. public class PoiTest { static public void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream("d:\test.xls"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet s = wb.createSheet(); wb.setSheetName(0, "first sheet"); HSSFRow row = s.createRow(0); HSSFCell cell = row.createCell(0); cell.setCellValue("Hello! This message is generated from POI."); wb.write(fos); fos.close(); } } 读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串: POIFSFileSystem fs = null; HSSFWorkbook wb = null; try { fs = new POIFSFileSystem(new FileInputStream("d:\test.xls")); wb = new HSSFWorkbook(fs); } catch (IOException e) { e.printStackTrace(); } HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); HSSFCell cell = row.getCell((short) 0); String msg = cell.getStringCellValue(); javascript 提交表单之后,如何才能不改变地址栏的内容? FCKeditor HTML 在线编辑器 JAVA 版 使用小记 加载菜单(递归) 求文件下载? 使用AJAXRPC让javascript直接调用java方法 apache tomcat 显示图片 急!对Calendar的使用 如何使session的时间再长一些 做个类似网络考试一样的东西,要老师出了题目,50个学生同时答题.而数据库要用小型的,不能用sqlserver,比如:dbase,跟数据库支持并发访问有 一个不用很多文字来回答的问题,希望朋友们能帮忙,无限感激! 動態刷新頁面
介绍:
Jakarta_POI 使用Java读写Excel(97-2002)文件,可以满足大部分的需要。
因为刚好有一个项目使用到了这个工具,花了点时间顺便翻译了一下POI本身
带的一个Guide.有一些节减和修改,希望给使用这个项目的人一些入门帮助。
POI 下面有几个自项目:HSSF用来实现Excel 的读写.以下是HSSF的主页
http://jakarta.apache.org/poi/hssf/index.html
下面的介绍是基于以下地址的翻译:
http://jakarta.apache.org/poi/hssf/quick-guide.html
目前的版本为1.51应该是很长时间之内的一个稳定版,但HSSF提供的Sample不是基于
1.51所写,所以使用的时候需要适当的注意.
其实POI下面的几个子项目侧重不同读写 Word 的HDF正在开发当中.
XML下的FOP(http://xml.apache.org/fop/index.html)
可以输出pdf文件,也是比较好的一个工具
目录:
创建一个workbook
创建一个sheet
创建cells
创建日期cells
设定单元格格式说明:
以下可能需要使用到如下的类
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;创建workbookHSSFWorkbook wb = new HSSFWorkbook();
//使用默认的构造方法创建workbook
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
//指定文件名
wb.write(fileOut);
//输出到文件
fileOut.close();创建一个sheetHSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
//workbook创建sheet
HSSFSheet sheet2 = wb.createSheet("second sheet");
//workbook创建另外的sheet
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();创建cells
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
//注意以下的代码很多方法的参数是short 而不是int 所以需要做一次类型转换
HSSFRow row = sheet.createRow((short)0);
//sheet 创建一行
HSSFCell cell = row.createCell((short)0);
//行创建一个单元格
cell.setCellValue(1);
//设定单元格的值
//值的类型参数有多中double ,String ,boolean,
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue("This is a string");
row.createCell((short)3).setCellValue(true);// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();创建日期cells
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");HSSFRow row = sheet.createRow((short)0);HSSFCell cell = row.createCell((short)0);
//设定值为日期
cell.setCellValue(new Date());HSSFCellStyle cellStyle = wb.createCellStyle();
//指定日期显示格式
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
//设定单元格日期显示格式
cell.setCellStyle(cellStyle);FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
设定单元格格式
单元格格式的设定有很多形式包括单元格的对齐方式,内容的字体设置,
单元格的背景色等,因为形式比较多,只举一些例子.以下的例子在
POI1.5中可能会有所改变具体查看API.
..........
// Aqua background
HSSFCellStyle style = wb.createCellStyle();
//创建一个样式
style.setFillBackgroundColor(HSSFCellStyle.AQUA);
//设定此样式的的背景颜色填充
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);//样式的填充类型。
//有多种式样如:
//HSSFCellStyle.BIG_SPOTS
//HSSFCellStyle.FINE_DOTS
//HSSFCellStyle.SPARSE_DOTS等
style.setAlignment(HSSFCellStyle.ALIGN_CENTER );
//居中对齐
style.setFillBackgroundColor(HSSFColor.GREEN.index);
//设定单元个背景颜色
style.setFillForegroundColor(HSSFColor.RED.index);
//设置单元格显示颜色
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("X");
cell.setCellStyle(style);
http://www.javaresearch.org/article/showarticle.jsp?column=331&thread=4804
Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。
你可以在下面地址下载到最新的POI工具包:
http://jakarta.apache.org/poi/index.html
下面的代码创建一个Excel文件test.xls,并在第一行的第一格中写入一条消息:import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream; // code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
public class PoiTest { static public void main(String[] args) throws Exception {
FileOutputStream fos = new FileOutputStream("d:\test.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet");
HSSFRow row = s.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("Hello! This message is generated from POI.");
wb.write(fos);
fos.close();
} } 读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串: POIFSFileSystem fs = null;
HSSFWorkbook wb = null; try {
fs = new POIFSFileSystem(new FileInputStream("d:\test.xls"));
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();