poi,java向 excel文件写数据(缺点,HSSFWorkbook不支持图片) 例子
2009-11-08 13:26
651 查看
package sample2;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* poi,java向 excel文件写数据(缺点,不支持图片)
* @author steve_wang_victor
*
*/
public class PoiExcelwriterSample2 {
private static short XLS_ENCODING = HSSFWorkbook.ENCODING_UTF_16;// 设置cell编码解决中文高位字节截断
private static String DATE_FORMAT = " m/d/yy "; // "m/d/yy h:mm" 定制日期格式
private static String NUMBER_FORMAT = " #,##0.00 ";// 定制浮点数格式
private String xlsFileName;//文件名
private HSSFWorkbook workbook;//工作薄
private HSSFSheet sheet;//工作表
private HSSFRow row;//行
/**
* 初始化Excel
*
* @param fileName
* 导出文件名
*/
public PoiExcelwriterSample2(String fileName) {
this.xlsFileName = fileName;
this.workbook = new HSSFWorkbook();
this.sheet = workbook.createSheet();
}
public static void main(String[] args) {
System.out.println( " 开始导出Excel文件 " );
PoiExcelwriterSample2 e = new PoiExcelwriterSample2( "d://test.xls" );//在d盘下新建一个test.xls文件
e.createRow( 0 );
e.setCell( 0 , " 编号 " );
e.setCell( 1 , " 名称 " );
e.setCell( 2 , " 日期 " );
e.setCell( 3 , " 金额 " );
e.createRow( 1 );
e.setCell( 0 , 1 );
e.setCell( 1 , " 工商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 111123.99 );
e.createRow( 2 );
e.setCell( 0 , 2 );
e.setCell( 1 , " 招商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 222456.88 );
try {
e.exportXLS();
System.out.println( " 导出Excel文件[成功] " );
} catch (XLSException e1) {
System.out.println( " 导出Excel文件[失败] " );
e1.printStackTrace();
}
}
/**
* 导出Excel文件
*
* @throws XLSException
*/
public void exportXLS() throws XLSException {
try {
FileOutputStream fOut = new FileOutputStream(xlsFileName);
workbook.write(fOut);
fOut.flush();
fOut.close();
} catch (FileNotFoundException e) {
throw new XLSException(" 生成导出Excel文件出错! ", e);
} catch (IOException e) {
throw new XLSException(" 写入Excel文件出错! ", e);
}
}
/**
* 增加一行
*
* @param index
* 行号
*/
public void createRow(int index) {
this.row = this.sheet.createRow(index);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, String value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, Calendar value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value.getTime());
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat(DATE_FORMAT)); // 设置cell样式为定制的日期格式
cell.setCellStyle(cellStyle); // 设置该cell日期的显示格式
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, int value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, double value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
HSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat(NUMBER_FORMAT)); // 设置cell样式为定制的浮点数格式
cell.setCellStyle(cellStyle); // 设置该cell浮点数的显示格式
}
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* poi,java向 excel文件写数据(缺点,不支持图片)
* @author steve_wang_victor
*
*/
public class PoiExcelwriterSample2 {
private static short XLS_ENCODING = HSSFWorkbook.ENCODING_UTF_16;// 设置cell编码解决中文高位字节截断
private static String DATE_FORMAT = " m/d/yy "; // "m/d/yy h:mm" 定制日期格式
private static String NUMBER_FORMAT = " #,##0.00 ";// 定制浮点数格式
private String xlsFileName;//文件名
private HSSFWorkbook workbook;//工作薄
private HSSFSheet sheet;//工作表
private HSSFRow row;//行
/**
* 初始化Excel
*
* @param fileName
* 导出文件名
*/
public PoiExcelwriterSample2(String fileName) {
this.xlsFileName = fileName;
this.workbook = new HSSFWorkbook();
this.sheet = workbook.createSheet();
}
public static void main(String[] args) {
System.out.println( " 开始导出Excel文件 " );
PoiExcelwriterSample2 e = new PoiExcelwriterSample2( "d://test.xls" );//在d盘下新建一个test.xls文件
e.createRow( 0 );
e.setCell( 0 , " 编号 " );
e.setCell( 1 , " 名称 " );
e.setCell( 2 , " 日期 " );
e.setCell( 3 , " 金额 " );
e.createRow( 1 );
e.setCell( 0 , 1 );
e.setCell( 1 , " 工商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 111123.99 );
e.createRow( 2 );
e.setCell( 0 , 2 );
e.setCell( 1 , " 招商银行 " );
e.setCell( 2 , Calendar.getInstance());
e.setCell( 3 , 222456.88 );
try {
e.exportXLS();
System.out.println( " 导出Excel文件[成功] " );
} catch (XLSException e1) {
System.out.println( " 导出Excel文件[失败] " );
e1.printStackTrace();
}
}
/**
* 导出Excel文件
*
* @throws XLSException
*/
public void exportXLS() throws XLSException {
try {
FileOutputStream fOut = new FileOutputStream(xlsFileName);
workbook.write(fOut);
fOut.flush();
fOut.close();
} catch (FileNotFoundException e) {
throw new XLSException(" 生成导出Excel文件出错! ", e);
} catch (IOException e) {
throw new XLSException(" 写入Excel文件出错! ", e);
}
}
/**
* 增加一行
*
* @param index
* 行号
*/
public void createRow(int index) {
this.row = this.sheet.createRow(index);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, String value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, Calendar value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setEncoding(XLS_ENCODING);
cell.setCellValue(value.getTime());
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat(DATE_FORMAT)); // 设置cell样式为定制的日期格式
cell.setCellStyle(cellStyle); // 设置该cell日期的显示格式
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, int value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
}
/**
* 设置单元格
*
* @param index
* 列号
* @param value
* 单元格填充值
*/
public void setCell(int index, double value) {
HSSFCell cell = this.row.createCell((short) index);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellValue(value);
HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式
HSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat(NUMBER_FORMAT)); // 设置cell样式为定制的浮点数格式
cell.setCellStyle(cellStyle); // 设置该cell浮点数的显示格式
}
}
相关文章推荐
- poi,java读excel文件中数据 例子
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- 一个将数据文件转换成excel文件打印的java实现方法的代码片断(Struts+poi)
- java中将数据和图片导出到Excel文件中
- XSSFWorkbook、HSSFWorkbook导出EXCEL数据和图片
- JAVA 通过poi 读取 本地excel(.xls,.xlsx)文件,文件中 包含图片
- 小例子:java利用poi读取excel中数据并导入数据库
- java poi Excel内图片获取存储并关联数据入库
- 将数据库中的数据导出为excel文件 HSSFWorkBooK用法
- 使用POI实现在java程序中导入导出Excel文件数据
- Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
- JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件
- Java 使用poi导入excel,结合xml文件进行数据验证的例子
- JAVA POI HSSFWorkbook 导出Excel表格超大数据量解决方案
- JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件
- JAVA POI自动导出数据和图片到excel
- java POI导出excel(带有图片的数据)以及ftp上传图片到另一台服务器的方法参考代码
- Java使用poi读取Excel文件例子
- java 利用org.apache.poi.hssf包编写excel导出文件
- java 利用 poi 生成 Excel文件的例子