生成Excel的几种方式
来源:互联网 发布:淘宝可以改店铺名字吗 编辑:程序博客网 时间:2024/06/05 03:43
package com.hanyang;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.ScriptStyle;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Blank;
import jxl.write.DateFormat;
import jxl.write.DateFormats;
import jxl.write.DateTime;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.WritableCell;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableHyperlink;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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;
import org.junit.Test;
/**
* 演示导出EXCEL三种方式.(md搞不下去了)
* 1.使用JSL制作简单的Excel:包含修改字体等
* @author zhanghui
*/
public class ExportExcel {
public static final String[] title = { "部门", "姓名", "工资标准" };
public static final String[] jax = { "java", "JAX", "10000" };
@Test
//1.jsl方式生成Excel
public void jslExpExcel() throws Exception {
WritableWorkbook workbook = Workbook.createWorkbook(new File(
"d:/jsl_Excel.xls")); // 创建一个可读写的副本(本地)
//若改为下载时(非web项目,ClassNotFound)
/*String str;
str =new String("下载命名".getBytes(),"ISO-8859-1")+".xls";
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
ByteArrayOutputStream ba = new ByteArrayOutputStream();
WritableWorkbook workbook2 = Workbook.createWorkbook(ba);
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
response.setContentType( "multipart/form-data" ); //自动判断类型
response.setHeader("Content-Disposition","attachment;filename="+str+"");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
WritableSheet sheet = workbook.createSheet("Sheet1", 0); // 定义与设置Sheet
Label label = null;
WritableCell cell = null;
WritableCellFormat wcf = null;
WritableCellFeatures wcfeatures = null;
for (int i = 0; i < title.length; i++) { // 添加列名
label = new Label(i, 0, title[i]);
sheet.addCell(label);
}
for (int i = 0; i < jax.length; i++) { // 添加列对应的内容
label = new Label(i, 1, jax[i]);
sheet.addCell(label);
}
for (int i = 0; i < jax.length; i++) {
WritableFont titleWf = new WritableFont(
WritableFont.createFont("SimSun"),// 字体
10,// WritableFont.DEFAULT_POINT_SIZE, // 字号
WritableFont.NO_BOLD, // 粗体
false, // 斜体
UnderlineStyle.NO_UNDERLINE, // 下划线
Colour.BLACK, // 字体颜色
ScriptStyle.NORMAL_SCRIPT);
wcf = new WritableCellFormat(titleWf);
wcf.setBackground(Colour.GRAY_25);// 设置单元格的背景颜色
wcf.setAlignment(Alignment.CENTRE); // 设置对齐方式
wcf.setBorder(Border.ALL, BorderLineStyle.THICK); // 添加边框
int length = jax.length; // 设置字体
for (int j = 0; j < length; j++) {
cell = sheet.getWritableCell(j, i);
cell.setCellFormat(wcf);
}
}
workbook.write();
workbook.close();
}
@Test
//读取Excel
public void jslReadExcel(){
try {
Workbook workbook = Workbook.getWorkbook(new File("d:/jsl_Excel.xls")); //创建workbook
Sheet sheet = workbook.getSheet(0); //获取第一个sheet
for (int i = 0; i < sheet.getRows(); i++) { //获取内容
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j,i);
System.out.println(cell.getContents()+"");
}
System.out.println();
}
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
//2.poi方式生成Excel
public void poiExpExcel(){
HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个工作簿
HSSFSheet sheet =workbook.createSheet(); //创建工作表
HSSFCellStyle style = workbook.createCellStyle(); // 样式对象
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置居中
HSSFFont font=workbook.createFont(); //设置字体(默认宋体)
font.setColor(HSSFColor.BLACK.index);//HSSFColor.VIOLET.index //字体颜色
font.setFontHeightInPoints((short)10);
style.setFont(font); //把字体应用到当前的样式
HSSFRow row = sheet.createRow(0); //创建第一行
HSSFCell cell = null; //创建列
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
for (int i = 1; i <10; i++) { //追加内容
HSSFRow nextRow = sheet.createRow(i);
cell = nextRow.createCell(0);
cell.setCellValue("java张慧");
cell.setCellStyle(style);
cell = nextRow.createCell(1);
cell.setCellValue("name"+1);
cell.setCellStyle(style);
cell = nextRow.createCell(2);
cell.setCellValue("10000"+i);
cell.setCellStyle(style);
}
//若为下载时:加上即可
/*ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
response.setContentType( "multipart/form-data" );
response.setHeader("Content-Disposition","attachment;filename="+str+".xls");
ServletOutputStream out = response.getOutputStream();
workbook.write(out);*/
File file = new File("d:/poi_Excel.xls");
try {
file.createNewFile();
FileOutputStream fos = FileUtils.openOutputStream(file);
workbook.write(fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void poiReadExcel(){
File file = new File("d:/poi_Excel.xls");
try {
HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
//HSSFSheet sheet2 =workbook.getSheet("Sheet0"); //按名称
HSSFSheet sheet = workbook.getSheetAt(0); // 默认第一个
int firstRowNum = 0;
int lastRowNum = sheet.getLastRowNum();
for (int i = firstRowNum; i <= lastRowNum; i++) {
HSSFRow row = sheet.getRow(i);
int lastCellNum = row.getLastCellNum(); //获取当前行的最后一列
for (int j = 0; j < lastCellNum; j++) {
HSSFCell cell = row.getCell(j);
String value = cell.getStringCellValue();
System.out.print(value+" ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.ScriptStyle;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Blank;
import jxl.write.DateFormat;
import jxl.write.DateFormats;
import jxl.write.DateTime;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.WritableCell;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableHyperlink;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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;
import org.junit.Test;
/**
* 演示导出EXCEL三种方式.(md搞不下去了)
* 1.使用JSL制作简单的Excel:包含修改字体等
* @author zhanghui
*/
public class ExportExcel {
public static final String[] title = { "部门", "姓名", "工资标准" };
public static final String[] jax = { "java", "JAX", "10000" };
@Test
//1.jsl方式生成Excel
public void jslExpExcel() throws Exception {
WritableWorkbook workbook = Workbook.createWorkbook(new File(
"d:/jsl_Excel.xls")); // 创建一个可读写的副本(本地)
//若改为下载时(非web项目,ClassNotFound)
/*String str;
str =new String("下载命名".getBytes(),"ISO-8859-1")+".xls";
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
ByteArrayOutputStream ba = new ByteArrayOutputStream();
WritableWorkbook workbook2 = Workbook.createWorkbook(ba);
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
response.setContentType( "multipart/form-data" ); //自动判断类型
response.setHeader("Content-Disposition","attachment;filename="+str+"");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
WritableSheet sheet = workbook.createSheet("Sheet1", 0); // 定义与设置Sheet
Label label = null;
WritableCell cell = null;
WritableCellFormat wcf = null;
WritableCellFeatures wcfeatures = null;
for (int i = 0; i < title.length; i++) { // 添加列名
label = new Label(i, 0, title[i]);
sheet.addCell(label);
}
for (int i = 0; i < jax.length; i++) { // 添加列对应的内容
label = new Label(i, 1, jax[i]);
sheet.addCell(label);
}
for (int i = 0; i < jax.length; i++) {
WritableFont titleWf = new WritableFont(
WritableFont.createFont("SimSun"),// 字体
10,// WritableFont.DEFAULT_POINT_SIZE, // 字号
WritableFont.NO_BOLD, // 粗体
false, // 斜体
UnderlineStyle.NO_UNDERLINE, // 下划线
Colour.BLACK, // 字体颜色
ScriptStyle.NORMAL_SCRIPT);
wcf = new WritableCellFormat(titleWf);
wcf.setBackground(Colour.GRAY_25);// 设置单元格的背景颜色
wcf.setAlignment(Alignment.CENTRE); // 设置对齐方式
wcf.setBorder(Border.ALL, BorderLineStyle.THICK); // 添加边框
int length = jax.length; // 设置字体
for (int j = 0; j < length; j++) {
cell = sheet.getWritableCell(j, i);
cell.setCellFormat(wcf);
}
}
workbook.write();
workbook.close();
}
@Test
//读取Excel
public void jslReadExcel(){
try {
Workbook workbook = Workbook.getWorkbook(new File("d:/jsl_Excel.xls")); //创建workbook
Sheet sheet = workbook.getSheet(0); //获取第一个sheet
for (int i = 0; i < sheet.getRows(); i++) { //获取内容
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j,i);
System.out.println(cell.getContents()+"");
}
System.out.println();
}
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
//2.poi方式生成Excel
public void poiExpExcel(){
HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个工作簿
HSSFSheet sheet =workbook.createSheet(); //创建工作表
HSSFCellStyle style = workbook.createCellStyle(); // 样式对象
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置居中
HSSFFont font=workbook.createFont(); //设置字体(默认宋体)
font.setColor(HSSFColor.BLACK.index);//HSSFColor.VIOLET.index //字体颜色
font.setFontHeightInPoints((short)10);
style.setFont(font); //把字体应用到当前的样式
HSSFRow row = sheet.createRow(0); //创建第一行
HSSFCell cell = null; //创建列
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
for (int i = 1; i <10; i++) { //追加内容
HSSFRow nextRow = sheet.createRow(i);
cell = nextRow.createCell(0);
cell.setCellValue("java张慧");
cell.setCellStyle(style);
cell = nextRow.createCell(1);
cell.setCellValue("name"+1);
cell.setCellStyle(style);
cell = nextRow.createCell(2);
cell.setCellValue("10000"+i);
cell.setCellStyle(style);
}
//若为下载时:加上即可
/*ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
response.setContentType( "multipart/form-data" );
response.setHeader("Content-Disposition","attachment;filename="+str+".xls");
ServletOutputStream out = response.getOutputStream();
workbook.write(out);*/
File file = new File("d:/poi_Excel.xls");
try {
file.createNewFile();
FileOutputStream fos = FileUtils.openOutputStream(file);
workbook.write(fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void poiReadExcel(){
File file = new File("d:/poi_Excel.xls");
try {
HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
//HSSFSheet sheet2 =workbook.getSheet("Sheet0"); //按名称
HSSFSheet sheet = workbook.getSheetAt(0); // 默认第一个
int firstRowNum = 0;
int lastRowNum = sheet.getLastRowNum();
for (int i = firstRowNum; i <= lastRowNum; i++) {
HSSFRow row = sheet.getRow(i);
int lastCellNum = row.getLastCellNum(); //获取当前行的最后一列
for (int j = 0; j < lastCellNum; j++) {
HSSFCell cell = row.getCell(j);
String value = cell.getStringCellValue();
System.out.print(value+" ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
0 0
- 生成Excel的几种方式
- 导出Excel的几种方式
- VC 操作Excel的几种方式
- 访问Excel的几种方式
- C#读写EXCEL的几种方式
- java生成随机数的几种方式
- php生成二维码的几种方式
- php生成二维码的几种方式
- java随机数生成的几种方式
- php生成二维码的几种方式
- php生成二维码的几种方式
- JfreeChart生成图片的几种方式
- mybatis代码生成的几种方式
- mybatis代码生成的几种方式
- pdm文件生成的几种方式
- mybatis代码生成的几种方式
- C# 生成订单号的几种方式
- 生成验证码的几种方式
- Windows下更改MySQL数据库的存储位置
- 同位大整数加法算法
- 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
- 将字符串符合规则的字符取出
- hwcomposer
- 生成Excel的几种方式
- USB设备驱动程序加载流程
- BOOM!音爆?一声来自杭州的巨响!
- loadrunner安装与破解
- virtualbox 下ubuntu使用USB摄像头
- CSS3 box-align 属性
- Linux的小企鹅
- session机制与cookie机制
- iOS 9 Auto Layout界面自动布局系列6-自适应布局