package test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
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.apache.poi.hssf.util.Region;
import com.sun.java_cup.internal.internal_error;
public class ExportExcel {
public static void main(String[] args) {
HSSFWorkbook bookWorkbook = new HSSFWorkbook();// 创建excel文件
HSSFSheet sheet = bookWorkbook.createSheet("第一个");
HSSFCell cell;
HSSFRow row;
HSSFCellStyle style = bookWorkbook.createCellStyle();// 创建一个单元的样式
// 背景色的设定
style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
// 前景色的设定
style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
// 填充模式
style.setFillPattern(HSSFCellStyle.FINE_DOTS);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 设置水平居中
style.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);// 上下居中
// 设置上下左右边框样式
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
// 设置字体
HSSFFont font = bookWorkbook.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 22);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
String[] headRow1 = { "序号", "学校","", "班级信息","","个人信息","","", "综合考评" };
String[] headRow2 = { "", "名称", "位置", "年级", "几班", "姓名", "性别", "联系方式",
"" };
int rowint = 0;
int titlerow1 = rowint++;
row = sheet.createRow((short) titlerow1);
for (int i = 0; i < headRow1.length; i++) {
cell = row.createCell((short) i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置值的编码格式,确保不会出现乱码
cell.setCellValue(headRow1[i]);
cell.setCellStyle(style);
}
int titlerow2 = rowint++;
row = sheet.createRow(titlerow2);
for (int i = 0; i < headRow2.length; i++) {
cell = row.createCell((short) i);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(headRow2[i]);
cell.setCellStyle(style);
}
// 合并单元格
sheet.addMergedRegion(new Region(titlerow1, (short) 1, titlerow1,
(short) 2));// 合并第一行
// 2,三两格,从0开始
sheet.addMergedRegion(new Region(titlerow1, (short) 3, titlerow1,
(short) 4));
sheet.addMergedRegion(new Region(titlerow1, (short) 5, titlerow1,
(short) 7));
sheet.addMergedRegion(new Region(titlerow1, (short) 8, titlerow2,
(short) 8));// 合并行
// 设置每列的宽度
int k = 0;
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
sheet.setColumnWidth((short) k++, (short) 4200);
//放入信息,一般为list,这里用模拟信息
String message[]={"1","清华","北京","计算机","1","snow","女","562771681","有"};
List list=new ArrayList();
list.add(message);
titlerow2++;
for (int i = 0; i < list.size(); i++) {
String mess[]=(String [])list.get(i);
row=sheet.createRow((short)(titlerow2+i));
int kk =0;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[0]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[1]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[2]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[3]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[4]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[5]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[6]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[7]));
kk++;
cell=row.createCell((short)kk);
cell.setCellStyle(style);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue((mess[8]));
}
try {
FileOutputStream outputStream;
/** 输出信息,导出excel
*
* response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Type", "application/octet-stream");
* OutputStream out = response.getOutputStream();
wb.write(out);
out.close();
*/
try {
outputStream = new FileOutputStream("e://abc.xls");
bookWorkbook.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (FileNotFoundException e) {
System.err.println("获取不到位置");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} finally {
}
}
}
分享到:
相关推荐
一个POI导出Excel万级数据分页实现 解决内存溢出问题 完整的 project demo 有数据库dmp文件
NPOI导出Excel的三种方式HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook
JFinal HSSFWorkbook导入Excel 并解析内容,将解析结果存入数据库
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。
向 EXCEL 模板文件 插入 数据行,不破坏EXCEL模板原有的格式.
用HSSFWorkbook做的关于excel表格的导出,里面有详细的表格的格式设置。
//创建新的Excel工作薄 HSSFSheet sheet=workbook.createSheet("效益指标");//新建一名为“效益指标”的工作表 HSSFRow row=sheet.createRow((short)0);//创建行 最顶端的行索引0的位置创建行 HSSFCell ...
解释:该方法相当于新建了一个excel文件,HSSFWorkbook : excel的文档对象。 2.//创建第一个sheet(页),命名为 page1 Sheet sheet = wb.createSheet("page1"); 解释:该方法相当于在excel文件里新建了一个工作页...
本文实例讲述了C#基于NPOI生成具有精确列宽行高的Excel文件的方法,是非常具有实用价值的技巧分享给大家供大家参考。具体方法如下:。 一、前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数...
POI操作Excel生成水印,该水印其实就是一个图片,该代码是将文字生成图片,再将图片变成水印的。
然后,程序在这些 Excel 文件中查找包含 "需要数据" 的单元格,并输出该单元格的位置和内容。程序使用 NPOI 库来处理 Excel 文件,支持读取 .xls 格式的文件。它遍历每个 Excel 文件的每个工作表,每行每列查找目标...
Asp.Net,C#创建Excel,添加下拉框列,动态给下拉框赋值
private void ToExcel(HttpContext context, string TempletFileName//模版文件, string ReportFileName//导出文件, DataTable dt2) { //模板文件 //string TempletFileName = context.Server.MapPath...
这个一个比较完整的ssh整合后实现导入导出excel、百度富文本编辑器使用、highcharts统计图表应用、clob大对象处理等综合性、实用性比较强的案例代码实现
web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....
简单的jsp+servlet实现把xlsx(excel,07版之前为xlsx,之后为xls,xls用HSSFWorkBook)数据导入到mysql,并导出
//Excel2003文档的创建,即扩展名为.xls try { //创建一个工作簿 Workbook wb = new HSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); //创建两个工作表,sheet1和sheet2 Sheet sheet1...
EXCEL导入导出源码,绝对值得借鉴 public class ExcelWriter { // 设置cell编码解决中文高位字节截断 private static short XLS_ENCODING = HSSFCell.ENCODING_UTF_16; // 定制浮点数格式 private static ...
大家好,我是陈亮,JAVA将数据按指定格式导出为EXCEL和从EXCEL读相关的内容视频教程 1,把poi-2.5.1-final-20040804.jar复制到jdk的classpath下,我这里用的插件是POI 我已打好在包中。。 <br>我这里JDK装到...