使用POI *** 作不同OFFICE应用用到的POI组件不同,从而引用的jar包也不一样。 例如我们仅利用HSSF来建立excel文件,则我们只需要进入POIjar,在此例中引入的是poi-38-20120326jar。
创建excel首先要获取到Workbook。 Workbook可以直接通过输出流(OutputStream)输出到指定位置。 例如我们需要在C盘创建一个textxls文件,则可以利用Workbook和FileOutputStream来做到。
import javaioFileNotFoundException;
import javaioFileOutputStream;
import javaioIOException;
import orgapachepoihssfusermodelHSSFWorkbook;
import orgapachepoissusermodelWorkbook;
public static void main(String[] args){
try {
FileOutputStream out = new FileOutputStream("c:\\testxls");
Workbook wb = new HSSFWorkbook();
wbwrite(out);
outclose();
} catch (FileNotFoundException e1) {
e1printStackTrace();
}catch (IOException e) {
eprintStackTrace();
}
}
此时创建的excel文件虽然可以打开,但实际上其为空的excel应用程序,打开会发生错误,随即修复为带有一个sheet的文件。 我们需要为之工作簿添加sheet 。 Workbook接口能够创建出sheet ,且新创建的sheet会自动被添加到Workbook队列中,且能为sheet命名。 在工作簿中有了两页表格,我们可以为之添加数据、设置样式等等。 值得注意的是我们在sheet中创建的行( row )或者单元格( cell )仅当为其设置了内容,才会自动增加到sheet上。
import javaioFileNotFoundException;
import javaioFileOutputStream;
import javaioIOException;
import orgapachepoissusermodelWorkbook;
import orgapachepoihssfusermodelHSSFWorkbook;
import orgapachepoissusermodelSheet;
import orgapachepoissusermodelFont;
import orgapachepoissusermodelRow;
import orgapachepoissusermodelCell;
import orgapachepoissusermodelCellStyle;
public class TestHSSF {
public static void main(String[] args){
// create a new file
FileOutputStream out;
try {
out = new FileOutputStream("c:\\testxls");
Workbook wb = new HSSFWorkbook();
//创建sheet
Sheet s1 = wbcreateSheet();
Sheet s2 = wbcreateSheet();
//命名sheet
wbsetSheetName(0, "第一个sheet" );
wbsetSheetName(1, "第二个sheet" );
//创建行 Row r = s1createRow(30);
//设置行高 rsetHeight((short)1132);
//创建单元格 Cell c = rcreateCell(3);
//创建样式,设置字体颜色、设置为粗体、设置底边框宽度等等 CellStyle cs = wbcreateCellStyle();
cssetBorderBottom((short)2);
Font f = wbcreateFont();
fsetFontHeightInPoints((short) 18);
fsetColor( (short)0xc );
fsetBoldweight(FontBOLDWEIGHT_BOLD);
cssetFont(f);
//设置单元格为样式cs
csetCellStyle(cs);
//设置单元格值 csetCellValue("测试");
wbwrite(out);
outclose();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
本文概括陈述了POI的组件构成,及其主要作用,使我们了解到在工程中可以利用POI来 *** 作office应用,同时略举了一个简单例子说明Workbook (能够创建CellStyle 、 Font 、 Sheet )、 CellStyle 、 Font 、 Sheet (能够创建Row 、 Cell )、 Row和Cell的关系,进而了解HSSF组件的简单使用。
在保护状态下execl的格式有可能正在被使用,你这边修改,准确说是线程冲突,一般excel值会作为导出文件的模板,是不会编辑的。你可以在读的时候判断execl是否正在被使用。
下面的代码问题,你可以参考
package comhwtglmfcommon;
import javaioIOException;
import javaioOutputStream;
import javautilArrayList;
import javautilList;
import javaxservlet>
以上就是关于如何用Apache POI *** 作Excel文件全部的内容,包括:如何用Apache POI *** 作Excel文件、JAVA 使用POI导出EXCEL文件,但是数据中有特殊字符该如何正确导出、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)