java实现导出多sheet的excel小实例
2016-08-12 15:57
447 查看
根据系统需要,将不同班级的学生导出到excel中,并按照班级名称分成不同的sheet表,下面是实现代码:
<span style="font-size:18px;">public static void outputExcelData() throws IOException, WriteException {
/**定义需要导出的实体*/
List result = new ArrayList();
User user = new User();
user.setId("1");
user.setName("yfli");
result.add(user);
User user2 = new User();
user2.setId("1");
user2.setName("zhangjie");
result.add(user2);
User user3 = new User();
user3.setId("1");
user3.setName("lzhang");
result.add(user3);
//创建文件本地文件
String fileName = "F:\\sfData.xls";
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName));
File dbfFile = new File(fileName);
if (!dbfFile.exists() || dbfFile.isDirectory()) {
dbfFile.createNewFile();
}
int totle = result.size();//获取List集合的size
int mus = 2;//每个工作表格最多存储2条数据(注:excel表格一个工作表可以存储65536条)
int avg = totle / mus;
for (int i = 0; i < avg + 1; i++) {
WritableSheet ws = wwb.createSheet("列表" + (i + 1), i); //创建一个可写入的工作表
//添加excel表头
ws.addCell(new Label(0, 0, "序号"));
ws.addCell(new Label(1, 0, "姓名"));
int num = i * mus;
int index = 0;
for (int m = num; m < result.size(); m++) {
if (index == mus) {//判断index == mus的时候跳出当前for循环
break;
}
User use = (User) result.get(m);
//将生成的单元格添加到工作表中
//(这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行)
ws.addCell(new Label(0, index + 1, use.getId()));
ws.addCell(new Label(1, index + 1, use.getName()));
index++;
}
}
wwb.write();//从内存中写入文件中
wwb.close();//关闭资源,释放内存
}</span>
<span style="font-size:18px;">public static void outputExcelData() throws IOException, WriteException {
/**定义需要导出的实体*/
List result = new ArrayList();
User user = new User();
user.setId("1");
user.setName("yfli");
result.add(user);
User user2 = new User();
user2.setId("1");
user2.setName("zhangjie");
result.add(user2);
User user3 = new User();
user3.setId("1");
user3.setName("lzhang");
result.add(user3);
//创建文件本地文件
String fileName = "F:\\sfData.xls";
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName));
File dbfFile = new File(fileName);
if (!dbfFile.exists() || dbfFile.isDirectory()) {
dbfFile.createNewFile();
}
int totle = result.size();//获取List集合的size
int mus = 2;//每个工作表格最多存储2条数据(注:excel表格一个工作表可以存储65536条)
int avg = totle / mus;
for (int i = 0; i < avg + 1; i++) {
WritableSheet ws = wwb.createSheet("列表" + (i + 1), i); //创建一个可写入的工作表
//添加excel表头
ws.addCell(new Label(0, 0, "序号"));
ws.addCell(new Label(1, 0, "姓名"));
int num = i * mus;
int index = 0;
for (int m = num; m < result.size(); m++) {
if (index == mus) {//判断index == mus的时候跳出当前for循环
break;
}
User use = (User) result.get(m);
//将生成的单元格添加到工作表中
//(这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行)
ws.addCell(new Label(0, index + 1, use.getId()));
ws.addCell(new Label(1, index + 1, use.getName()));
index++;
}
}
wwb.write();//从内存中写入文件中
wwb.close();//关闭资源,释放内存
}</span>
相关文章推荐
- 使用Python生成Excel格式的图片
- Excel 曝出 Power Query 安全漏洞,1.2 亿用户易受远程 DDE 攻击
- VBA将excel数据表生成JSON文件
- excel vba 限制工作表的滚动区域代码
- excel vba 高亮显示当前行代码
- C#控制Excel Sheet使其自适应页宽与列宽的方法
- SQL 导入导出Excel数据的语句
- 文本、Excel、Access数据导入SQL Server2000的方法
- C#实现Excel动态生成PivotTable
- C#基于COM方式读取Excel表格的方法
- C#导出数据到Excel文件的方法
- Vbscript生成Excel报表的常用操作总结
- C#开发教程之利用特性自定义数据导出到Excel
- C#实现导入CSV文件到Excel工作簿的方法
- C#基于NPOI生成具有精确列宽行高的Excel文件的方法
- 总提示[Microsoft][ODBC Excel Driver] 数值字段溢出官方解决方法
- C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例
- C#将Sql数据保存到Excel文件中的方法
- VC6.0实现读取Excel数据的方法
- C#定制Excel界面并实现与数据库交互的方法