apache.org提供了一个项目(poi)专门用于对办公软件的操作。这样大大方便了我们操作和读取其中的内容,用于统计分析。我下载的版本为poi-bin-3.6-20091214.zip
Component APIs
Excel (SS=HSSF+XSSF)
Word (HWPF+XWPF)
PowerPoint (HSLF+XSLF)
OpenXML4J (OOXML)
OLE2 Filesystem (POIFS)
OLE2 Document Props (HPSF)
Outlook (HSMF)
Visio (HDGF)
Publisher (HPBF)
在文档中提供了2种不同的写入方法,一个是老代码,一个是新代码。如果你希望能够兼容xls文件和xslx文件,那么建议用新代码。且老代码对office2007的操作不是很好。
代码如下:
// import org.apache.poi.hssf.usermodel.*;
public static void main(String[] args)throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
// create a new sheet 创建一个新表
HSSFSheet s = wb.createSheet();
// declare a row object reference 声明一个新行
HSSFRow r = null;
// declare a cell object reference 声明一个单元格
HSSFCell c = null;
// create 2 cell styles 创建2个单元格样式
HSSFCellStyle cs = wb.createCellStyle();
HSSFCellStyle cs2 = wb.createCellStyle();
HSSFDataFormat df = wb.createDataFormat();
// create 2 fonts objects 创建2个单元格字体
HSSFFont f = wb.createFont();
HSSFFont f2 = wb.createFont();
// Set font 1 to 12 point type, blue and bold 设置字体类型1到12号,蓝色和粗体
f.setFontHeightInPoints((short) 12);
f.setColor( HSSFColor.RED.index );
f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// Set font 2 to 10 point type, red and bold 设置字体类型2到10号,红色和粗体
f2.setFontHeightInPoints((short) 10);
f2.setColor( HSSFColor.RED.index);
f2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// Set cell style and formatting 设置单元格样式和格式
cs.setFont(f);
cs.setDataFormat(df.getFormat("#,##0.0"));
// Set the other cell style and formatting 设置其他单元格样式和格式
cs2.setBorderBottom(cs2.BORDER_THIN);
cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
cs2.setFont(f2);
// Define a few rows 定义一个新行
for(short rownum = (short)0; rownum < 30; rownum++) {
r = s.createRow(rownum);
for(short cellnum = (short)0; cellnum < 10; cellnum += 2) {
c = r.createCell(cellnum);
HSSFCell c2 = r.createCell(cellnum+1);
c.setCellValue((double)rownum + (cellnum/10));
c2.setCellValue(new HSSFRichTextString("Hello! " + cellnum));
}
}
// Save保存
FileOutputStream out = new FileOutputStream("d://workbook.xls");
wb.write(out);
out.close();
}
// import org.apache.poi.hssf.usermodel.*;
public static void main(String[] args) throws Exception {
Workbook[] wbs = new Workbook[] { new HSSFWorkbook(),
new XSSFWorkbook() };
for (int i = 0; i < wbs.length; i++) {
Workbook wb = wbs[i];
CreationHelper createHelper = wb.getCreationHelper();
// create a new sheet 创建一个新表
Sheet s = wb.createSheet();
// declare a row object reference 声明一个对象的引用行
Row r = null;
// declare a cell object reference 声明对象的引用单元格
Cell c = null;
// create 2 cell styles 创建2单元格样式
CellStyle cs = wb.createCellStyle();
CellStyle cs2 = wb.createCellStyle();
DataFormat df = wb.createDataFormat();
// create 2 fonts objects 创建2字体对象
Font f = wb.createFont();
Font f2 = wb.createFont();
// Set font 1 to 12 point type, blue and bold 设置字体1至12点类型,蓝色和粗体
f.setFontHeightInPoints((short) 12);
f.setColor(IndexedColors.RED.getIndex());
f.setBoldweight(Font.BOLDWEIGHT_BOLD);
// Set font 2 to 10 point type, red and bold 设置字体2至10点类型,红色和粗体
f2.setFontHeightInPoints((short) 10);
f2.setColor(IndexedColors.RED.getIndex());
f2.setBoldweight(Font.BOLDWEIGHT_BOLD);
// Set cell style and formatting 设置单元格样式和格式
cs.setFont(f);
cs.setDataFormat(df.getFormat("#,##0.0"));
// Set the other cell style and formatting 设置其他单元格样式和格式
cs2.setBorderBottom(cs2.BORDER_THIN);
cs2.setDataFormat(df.getFormat("text"));
cs2.setFont(f2);
// Define a few rows 定义几行
for (int rownum = 0; rownum < 30; rownum++) {
r = s.createRow(rownum);
for (int cellnum = 0; cellnum < 10; cellnum += 2) {
c = r.createCell(cellnum);
Cell c2 = r.createCell(cellnum + 1);
c.setCellValue((double) rownum + (cellnum / 10));
c2.setCellValue(createHelper.createRichTextString("Hello! "
+ cellnum));
}
}
// Save 保存
String filename = "d://workbook.xls";
if (wb instanceof XSSFWorkbook) {
filename = filename + "x";
}
FileOutputStream out = new FileOutputStream(filename);
wb.write(out);
out.close();
}
}
相关推荐
java 写入 excle 、pdf、 word资料
java写入excel图片操作 包含需要的类库和相应的代码
java读取Excle和写入EXCLE(不需要连数据库,只用导个jxl包),小例子
实用ACTIVEX技术实现数据向EXCEL的存储,其中实用了属性节点 和调用节点
1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....
java 通过JXL架包,给excel文件添加水印,水印内容可自定义
该资源是一个rar压缩包形式的源代码,主要演示了java如何导出数据到Excle并保存到本地电脑、以及在web中如何导出数据库中的数据到Excel并下载。
批量读取excel文件并利用dbcp连接池写入数据库
在程序项目开发中,无论是Android还是Java,在很多地方都会使用到Excle表格作为数据的存储方式,这就避免不了程序对Excle文件的操作。 问题:目前,无论是JXL还是POI,对Excel的操作都是比较原始的,用户无法使用...
Java利用POI对EXCLE表格进行操作。主要针对复杂表格,一行一行的读取数据,或者写入数据;这个代码也是在网上查了一些资料,记录下来,一共大家需要的时候方便使用。
读写excel,加入模板元素!
将mysql数据库的两个表的数据分别写入Excle的两个sheet里面,并设置边框,字体样式,字体大小,颜色等
java 读excel 写 excel 边读边写excel 可以数据库抓来数据List,填冲到excel的制定位置
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
用Python将Word中的内容写入Excel
读取Excel数据并将数据导入到数据库范例。数据库使用mysql数据库.
本代码案例使用java语言,maven管理jar包,POI技术将数据写入到EXCEL文档内。
Apache官网对poi的解释: Apache POI项目的任务是根据Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)创建和维护Java API,以处理各种文件格式。 简而言之,您可以使用Java读取和写入MS Excel...
用java从Oracle的EMP表读数据并写到EXCEL中,再在oracle中建张表,把EXCEL里面的数据读出来并写入到刚才建好的oracle表中,实现oracle表的备份和导入
主要为大家详细介绍了Java用jxl读取excel并保存到数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下