<无详细内容>
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import jxl.Workbook;
- import jxl.write.Label;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- import jxl.write.WriteException;
- /**
- * Title:
- * Description: TestDemo
- * @author lu
- * @date 2016年7月19日 下午3:17:28
- */
- public class TestDome {
- public static void outputExcelData() throws IOException, WriteException {
- /*1、设置写入excel表格的值
- * 这里可扩展为在数据中调取的相关的数据*/
- List<User> result = new ArrayList<User>();
- User user = new User();
- user.setId("1");
- user.setName("zhangshang");
- result.add(user);
- User user2 = new User();
- user2.setId("1");
- user2.setName("shanghai");
- result.add(user2);
- User user3 = new User();
- user3.setId("1");
- user3.setName("beijing");
- result.add(user3);
- /*2、设置文件的名字和导出的位置
- * 这里可扩展为服务器地址或者是硬盘地址*/
- String fileName = "D://sfData.xls";
- /*3、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); //创建一个可写入的工作表
- //添加表头
- 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();//关闭资源,释放内存
- }
- //测试
- public static void main(String[] args) {
- try {
- outputExcelData();
- System.out.println("导出完成!");
- } catch (WriteException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
复制代码 |