Java读写Excel的三种⽅式
前期做项⽬需要⽤到java操作Excel,跟随慕课⽹上课程学习,找到了Java操作Excel的三种⽅式,发现实际应⽤中基本还是以POI⽅式为
主,现总结如下。
HSSF是HorribleSpreadSheetFormat的缩写,即“讨厌的电⼦表格格式”。通过HSSF,你可以⽤纯Java代码来读取,写⼊,修改
Excel⽂件。
HSSF——读写MicrosoftExcel格式档案的功能。
XSSF——读写MicrosoftExcelOOXML格式档案的功能。
HWPF——读写MicrosoftWord格式档案的功能。
HSLF——读写MicrosoftPowerPoint格式档案的功能。
HDGF——读写MicrosoftVisio格式档案的功能。
如果想⽣成pdf⽂件:
通过iText不仅可以⽣成PDF或rtf的⽂档,⽽且可以将XML、Html⽂件转化为PDF⽂件。
下载⽂件后,只需要在系统的CLASSPATH中加⼊的路径,在程序中就可以使⽤iText的类库了。
POI实例(创建并写⼊数据)
POI实例(读取Excel⽂件的内容)
publicclassPoiExpExcel{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
String[]title={"id","name","x"};
//创建Excel⼯作簿
HSSFWorkbookworkbook=newHSSFWorkbook();
//创建⼀个⼯作表sheet
HSSFSheetsheet=Sheet();
//创建第⼀⾏
HSSFRowrow=Row(0);
//插⼊第⼀⾏数据id,name,x
HSSFCellcell=null;
for(inti=0;i<;i++){
cell=Cell(i);
lValue(title[i]);
}
//追加数据
for(inti=1;i<11;i++){
//创建后续⾏
HSSFRownextrow=Row(i);
//定义单元格
HSSFCellcell2=Cell(0);
//为第⼀个单元格赋值
lValue("a"+i);
//为第⼆个单元格赋值
cell2=Cell(1);
lValue("ur"+i);
cell2=Cell(2);
lValue("男");
}
//创建⼀个⽂件
Filefile=newFile("d:/poi_");
try{
NewFile();
//将Excel内容存盘
FileOutputStreamstream=tputStream(file);
(stream);
();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
tackTrace();
}
}
}
JavaExcel是⼀开放源码项⽬,可以读取Excel⽂件的内容、创建新的Excel⽂件、更新已经存在的Excel⽂件。包括常见格式的设置:字
体、颜⾊、背景、合并单元格等。
JXL实例(创建并写⼊数据):
publicclassPoiReadExcel{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
//需要解析的Excel⽂件
Filefile=newFile("d:/poi_");
try{
//创建Excel,读取⽂件内容
HSSFWorkbookworkbook=newHSSFWorkbook(putStream(file));
//获取第⼀个⼯作表
//⽅法⼀
/*HSSFSheetsheet=et("Sheet0");*/
//⽅法⼆
HSSFSheetsheet=etAt(0);
//读取表中的数据
intfirstRowNum=0;
//表中最后⼀⾏⾏号
intlastRowNum=tRowNum();
for(inti=0;i
HSSFRowrow=(i);
//获取当前⾏最后单元格列号
intlastcellNum=tCellNum();
for(intj=0;j
HSSFCellcell=l(j);
Stringvalue=ingCellValue();
(value+"");
}
n();
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
tackTrace();
}
}
}
JXL实例(读取Excel⽂件的内容):
publicclassJxlExcle{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
//⽤数组存表头
String[]title={"id","name","x"};
//创建Excel⽂件
Filefile=newFile("e:/jxl_");
try{
NewFile();
//创建⼯作簿
WritableWorkbookworkbook=Workbook(file);
//创建sheet
WritableSheetsheet=Sheet("sheet1",0);
Labellabel=null;
for(inti=0;i<;i++){
label=newLabel(i,0,title[i]);//参1列,参2⾏,参3值
l(label);
}
//追加数据
for(inti=1;i<10;i++){
label=newLabel(0,i,"a"+i);
l(label);
label=newLabel(1,i,"ur"+i);
l(label);
label=newLabel(2,i,"男");
l(label);
}
//写⼊数据
();
//关闭流
();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
tackTrace();
}
}
}
publicclassJxlReadExcel{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
try{
//创建workbook
Workbookworkbook=kbook(newFile("e:/jxl_"));
//获取第⼀个⼯作表sheet
Sheetsheet=et(0);
//获取数据
for(inti=0;i
for(intj=0;j
Cellcell=l(j,i);
(tents()+"");
}
n();
}
();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
tackTrace();
}
}
}
JXL与PIO对⽐
cel
FastExcel是⼀个采⽤纯Java开发的excel⽂件读写组件,⽀持Excel97——2003⽂件格式。
FastExcel只能读取单元格的字符信息,⽽其他属性如颜⾊、字体等就不⽀持了,因此FastExcel只需要很⼩的内存。
的XSSF创建更⾼版本的Excel⽂件
即将HSSF替换为XSSF,可以⽣成解析和写⼊更⾼版本的Excel⽂件。
publicclassXSSFPoiExpExcel{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
String[]title={"id","name","x"};
//创建Excel⼯作簿
XSSFWorkbookworkbook=newXSSFWorkbook();
//创建⼀个⼯作表sheet
XSSFSheetsheet=Sheet();
//创建第⼀⾏
Rowrow=Row(0);
//插⼊第⼀⾏数据id,name,x
Cellcell=null;
for(inti=0;i<;i++){
cell=Cell(i);
lValue(title[i]);
}
//追加数据
for(inti=1;i<11;i++){
//创建后续⾏
Rownextrow=Row(i);
//定义单元格
Cellcell2=Cell(0);
//为第⼀个单元格赋值
lValue("a"+i);
//为第⼆个单元格赋值
cell2=Cell(1);
lValue("ur"+i);
cell2=Cell(2);
lValue("男");
}
//创建⼀个⽂件
Filefile=newFile("d:/poi_");
try{
NewFile();
//将Excel内容存盘
FileOutputStreamstream=tputStream(file);
(stream);
();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
tackTrace();
}
}
}
本文发布于:2022-12-08 13:42:24,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/66406.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |