`
flyingfish42
  • 浏览: 5699 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

请教一些关于java操作excel问题(如jxl.write.WritableWorkbook.write()方法)

阅读更多
首先阐述下我的问题:我写了一个程序是先创建一个excel表,再创建一个工作表(工作表一),之后往工作表一写数据,当写了600条记录时,再用刚才创建工作表一的语句创建工作表二(用循环回到刚才写工作表一的代码处)再写入数据如此循环;问题是不能实现真的写入数据到工作表一再往工作表二再写数据,改了代码好多次,只能往工作表一写入数据,而下面代码是给工作表一写入数据,再创建了工作表二,却没有对工作表二写入数据,求解。谢谢!
private byte[] dataToExcel(ResultSet rs,String taskId,String name,DBPool db) throws Exception {
		
		ResultSetMetaData rsmd=rs.getMetaData();
		
	    try {
	      // 创建工作薄
	      ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
	      
	      WritableWorkbook wwb =Workbook.createWorkbook(byteOut);
	      
	      int row = 1;                      //记录数
	      int sheetCount = 1;               //工作表数
	      // 创建工作表
	      while(true){
	    	  WritableSheet ws = wwb.createSheet(name+sheetCount, sheetCount-1);

	    	  int colCount = rsmd.getColumnCount();// 结果集中列的总数

	    	  // 标题样式
	    	  WritableFont font = new WritableFont(WritableFont.TAHOMA, 9, WritableFont.BOLD);// 定义字体
	    	  font.setColour(Colour.BLACK);// 字体颜色
	    	  WritableCellFormat wc = new WritableCellFormat(font);
	    	  wc.setAlignment(Alignment.LEFT); // 设置左对齐
	    	  wc.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线
	    	  wc.setBackground(jxl.format.Colour.BLUE_GREY); // 设置单元格的背景颜色

	    	  ws.setRowView(0, 250); // 设置第一行的行高
	    	  for (int i = 1; i <= colCount; i++) {
	    		  ws.setColumnView(i - 1, 20);// 设置列宽
	    		  ws.addCell(new Label(i - 1, 0, rsmd.getColumnName(i), wc));
	    	  }

	    	  // 写入数据
	    	  while (rs.next()) {
	    		  for (int k = 1; k <= colCount; k++) {
	    			  ws.setColumnView(k - 1, 20);// 设置列宽
	    			  ws.addCell(new Label(k - 1, row, rs.getString(k)));
	    		  }
	    		  row++;
	    		  if(row > 599*sheetCount ) break;
	    	  }
	    	  
	    	  System.out.println("-------------sheetCount--------------->"+sheetCount);
	    	  if(row < 599*sheetCount ) break;
	    	  sheetCount++;
	    	  System.out.println("-------------sheetCount--------------->"+sheetCount);
	      }
	      wwb.write();
	      wwb.close();
	      return  byteOut.toByteArray();//将输出流转换成字节数组

	    } catch (Exception e) {
	      e.printStackTrace();
	      throw new Exception(e);
	    }
	  }
分享到:
评论
2 楼 flyingfish42 2010-06-11  
如果wwb.write();放在下面代码的后面,而不是放在原来那个位置即循环体内(每创建一个工作表调用一次write()方法),那么工作表二(即清单二)也不会被创建,那就是说调用了write()方法后,wwb这个对象应该失效了。
  
引用
// 写入数据  
while (rs.next()) {  
                  for (int k = 1; k <= colCount; k++) {  
                      ws.setColumnView(k - 1, 20);// 设置列宽  
                      ws.addCell(new Label(k - 1, row, rs.getString(k)));  
                  }  
                  row++;  
                  if(row > 599*sheetCount ) break;  
              }
1 楼 flyingfish42 2010-06-11  
这个也是我要讨论的地方,关于wwb.write(); 这个方法。好像调用了一次之后,再调用它已经无效了。

相关推荐

    java中导出Execl所需jxl依赖包

    jxl导出excel必须的Jar包 import jxl.Workbook; import jxl.format.Alignment;...import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException;

    jxl.jar包简介/java操作excel

    Java Excel API,通常简称为JXL,是一种专为Java开发者设计的开源库,用于操作Microsoft Excel文件。这个库提供了一组API,使得开发者能够在Java应用程序中创建、读取、更新Excel电子表格。JXL的优势在于它完全用...

    Java操作Excel(jxl.jar)

    本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...

    java解析excel包(jxl.jar)

    在Java应用程序中,如果需要处理Excel数据,如数据分析、报表生成或导入导出功能,jxl.jar包就是一个非常实用的工具。这个库提供了丰富的API,允许开发者对Excel工作簿、工作表、单元格等进行操作。 一、jxl.jar包...

    jxl.jar_java操作excel表格的jar包

    3. **写入Excel文件**:`jxl.write.Workbook`类用于创建新的Excel文件或修改现有文件。以下是如何创建一个新的Excel文件并写入数据: ```java import jxl.write.Label; import jxl.write.WritableSheet; import jxl....

    jxl操作excel实例,jxl jar包下载

    确保正确导入`jxl`相关的包,如`jxl.write.WritableWorkbook`、`jxl.read.BiffRecord`等。 接下来,让我们看一个简单的读写Excel文件的实例。在这个例子中,我们将创建一个名为`Test.java`的文件,用于演示如何使用...

    Java操作Excel的jxl.jar包

    Java操作Excel的jxl.jar包是一个非常实用的库,它为Java开发者提供了处理Microsoft Excel文件的强大功能。在Java中,jxl.jar库允许我们读取、写入和修改Excel文件,而无需依赖Microsoft Office套件。这个库广泛应用...

    java的jxl.jar

    Java的JXL.jar库是Java开发人员用于读取和写入Microsoft Excel文件的重要工具。它提供了方便的API,使得在Java应用程序中处理Excel数据变得简单高效。JXL支持多种Excel功能,包括单元格格式化、公式计算、图表操作...

    jxl.jar和jxl.api文档及使用方法

    2. **导入库**:在Java代码中,需要导入相关的包,如`jxl.Workbook`、`jxl.write.WritableWorkbook`等。 3. **读取Excel**:使用`Workbook`类的静态方法`Workbook.getWorkbook(File)`来打开一个Excel文件。 4. **...

    excel 导出用的jxl.jar

    使用`jxl.write.WritableWorkbook`类,我们可以创建一个新的Excel工作簿对象。这个对象代表了Excel文件,可以包含多个工作表。例如: ```java WritableWorkbook workbook = Workbook.createWorkbook(new File(...

    java将数据导出到Excel表格(java源文件+jxl.jar包)

    在Java项目中引入jxl.jar后,我们可以通过Java代码直接操作Excel文件,包括创建新的工作簿、添加工作表、写入数据等。 以下是一份简单的Java源代码示例,演示了如何使用jxl.jar将数据导出到Excel表格: ```java ...

    Java Excel API(jxl)

    ### Java Excel API (jxl) 知识点详解 #### jxl.jar 概述 jxl 是一款用于在 Java 应用程序中读写 Microsoft Excel 文件的...通过上述介绍的操作方法,开发者可以灵活地利用 jxl 来处理各种 Excel 文件相关的任务。

    jxl.jar包最新jar包亲测可用

    《使用jxl.jar包在Java中操作Excel文件的详尽指南》 在Java开发中,与Excel文件交互是一项常见的任务,比如数据导入、导出、分析等。jxl.jar库提供了一个强大的解决方案,使得开发者无需依赖Windows环境即可处理...

    java jxl excel

    jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(), wcfDF); ws.addCell(labelDTF); ``` 6. **添加带有字体颜色的 Formatting 对象**:可以设置字体的颜色。 ```java jxl....

    java操作EXCEL_和oracle.txt

    import jxl.write.WritableWorkbook; public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = Workbook.createWorkbook(new File("example.xls")); ...

    java生成excel实例通过(jxl)

    import jxl.write.WritableWorkbook; import jxl.write.WriteException; import java.io.FileOutputStream; import java.io.IOException; public class ExcelGenerator { public static void main(String[] args)...

    JAVA操作Excel(jxl使用介绍).pdf

    ### JAVA操作Excel(jxl使用介绍) #### 一、概述 在Java编程中,处理Excel文件是一种常见的需求。jxl库是早期广泛使用的Java操作Excel文件的API之一。本篇文章将详细介绍如何利用jxl库实现对Excel文件的基本操作,...

    java操作execl包jxl.jar共享

    下面我们将深入探讨如何使用JXL.jar以及Java对Excel的操作。 1. **JXL.jar的引入** 首先,你需要将jxl.jar文件添加到你的项目类路径中。如果你使用Maven,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;...

    操作EXCEL需要的包 jxl.jar

    import jxl.write.*; ``` 3. **读取Excel**:使用`Workbook`类的`Workbook.getWorkbook(File)`方法读取Excel文件: ```java Workbook workbook = Workbook.getWorkbook(new File("path_to_your_file.xls")); `...

    jxl操作excel.pdf

    import jxl.write.WritableWorkbook; public class CreateExcel { public static void main(String[] args) { try { WritableWorkbook book = Workbook.createWorkbook(new File("test.xls")); WritableSheet ...

Global site tag (gtag.js) - Google Analytics