需要jxl.jar

测试结果没问题,代码:

package com;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException; public class ExportExcel { public void exportExcel(String exportPath){
File file = new File(exportPath);
if(!file.exists()||file.isDirectory()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
WorkbookSettings WorkbookSettings = new WorkbookSettings();
WorkbookSettings.setEncoding("gbk"); WritableWorkbook writableWorkbook = null;
try {
writableWorkbook = Workbook.createWorkbook(file, WorkbookSettings); List<List<String>> data = getData(); int dataSize = data.size(); int maxItem = 10;//每个sheet最多能添加10条记录 int totalSheetCount = (dataSize/maxItem)+1;//总sheet数 for(int sheetIndex=0;sheetIndex<totalSheetCount;sheetIndex++){
WritableSheet sheet = writableWorkbook.createSheet("Sheet"+(sheetIndex+1), sheetIndex);
List<String> titles = data.get(0); WritableCellFormat writableCellFormat = new WritableCellFormat();//格式 TODO //添加title
for(int columnIndex=0;columnIndex<titles.size();columnIndex++){
String title = titles.get(columnIndex); try {
sheet.addCell(new Label(columnIndex, 0, title, writableCellFormat));//因为放在第一行,所以第二个参数(行Index)默认成0
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} for(int rowIndex = sheetIndex * maxItem + 1;rowIndex<(sheetIndex * maxItem + maxItem);rowIndex++){ int dataIndex = rowIndex-sheetIndex;//数据对应的index号
List<String> items = data.get(dataIndex);//每行内容 for(int columnIndex=0;columnIndex<items.size();columnIndex++){
String content = items.get(columnIndex);//每个cell中的内容 try {
sheet.addCell(new Label(columnIndex,rowIndex-(sheetIndex * maxItem), content, writableCellFormat));
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
} if((dataIndex+1)==dataSize){//最后一条数据完成后终止
break;
} } } writableWorkbook.write(); } catch (IOException e) {
e.printStackTrace();
}finally{
if(writableWorkbook!=null){
try {
writableWorkbook.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} } } /**
* 数据源
* @return
*/
public List<List<String>> getData(){
List<List<String>> data = new ArrayList<List<String>>(); List<String> titles = new ArrayList<String>();
titles.add("序号");
titles.add("姓名");
titles.add("性别");
titles.add("生日");
titles.add("电话");
titles.add("邮箱"); data.add(titles);
for(int i=0;i<20;i++){
List<String> contents = new ArrayList<String>();
contents.add((i+1)+"");
contents.add("测试人员"+(i+1));
contents.add("男");
contents.add("1990-01-01");
contents.add("1851515151"+(i+1));
contents.add("123@12"+(i+1)+".com"); data.add(contents);
} return data;
} public static void main(String[] args) {
String exportPath = "D:\\exportExcel.xls";
ExportExcel exportExcel = new ExportExcel();
exportExcel.exportExcel(exportPath);;
}
}

用jxl导出数据到excel的更多相关文章

  1. 分别使用POI和JXL导出数据到Excel

    1.使用POI 引入jar包 <!-- poi HSSF is our port of the Microsoft Excel 97(-2007) file format (BIFF8) to ...

  2. jxl 导出数据到excel

    优点: Jxl对中文支持非常好,操作简单,方法看名知意. Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000 ...

  3. JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件

    2010-10-14 19:17:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Entferne Dat ...

  4. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  5. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  6. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  7. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel

    由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...

  8. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

  9. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

随机推荐

  1. flume+elasticsearch

    项目的日志服是使用flume+elasticsearch 但是运维大哥告诉我,经常会大量往外发包,以至流量超标.问我是不是程序有问题.当时我拍着胸膛说:肯定不是.他说,可能是 服务器被攻击了,让我换一 ...

  2. js 随机数 洗牌算法

    function shuffle(arr){ var len = arr.length; for(var i = 0;i<len -1;i++) { var idx = Math.floor(M ...

  3. Window7 驱动编程环境配置

    1.  安装VS2010,WDK7.60(GRMWDK_EN_7600_1) 2.  新建VC 控制台项目(选择为空项目) 3.  新建项目配置“driver” ,点击下拉按钮-点击(配置管理器) 输 ...

  4. JS判断终端设备跳转PC端、移动端相应的URL

    <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta nam ...

  5. 阿里云专有网络与弹性公网IP

    阿里云服务器经典网络和专有网络究竟有什么区别? 在用户提交订单购买阿里云ECS云服务器时,会面临怎样选择网络类型的烦恼,阿里云服务器定制购买时,网络类型里的经典网络和专有网络(VPC)是什么含义,该怎 ...

  6. butterknife异常提示:attribute value must be constant

    就是因为你的android工程是lib类型的 如: apply plugin: 'com.android.library' android { compileSdkVersion 23 buildTo ...

  7. Rectangle Area || LeetCode

    把交叉点的坐标求出来即可. #define max(a,b) ( (a)>(b)?(a):(b) ) #define min(a,b) ( (a)<(b)?(a):(b) ) int co ...

  8. Windwos服务器远程桌面不能复制粘贴的解决方法

    今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行. 网上搜了一下,主要有两种情况: 1.复制粘贴功能原本可以用,突然失灵了2.从头到尾都无法使用这个 ...

  9. Java 使用jaxp修改节点

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <perso ...

  10. RDIFramework.NET(.NET快速开发框架) 答客户问(2014-02-23)

    1.框架的部署安装,服务器端和客户端 答:开发版以上版本支持SOA模式,也即真正的面向服务端的模式,在实际使用过程中,可根据项目的实际需要,来选择性的进行部署(直连模式或SOA模式),如需要分布式应用 ...