`
heweina2007
  • 浏览: 68806 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
社区版块
存档分类
最新评论

重识WritableSheet

    博客分类:
  • java
 
阅读更多

       今天工作中再次用的WritableSheet,这个东西两年前用过一次,当时没怎么仔细研究,现在几乎全忘了。因为今天要做的是创建一个excel并向文件中写入内容,而且还可修改该文件的内容。

       下载了个jxl的api,看到WritableSheet中根本没有类似getWritableSheet的方法来获取WritableSheet,Workbook中的createWorkbook倒是能创建WritableWorkbook,但由于看到是以“create”开头,我误以为该方法只能创建新的WritableWorkbook,而不能修改已存在的WritableWorkbook。所以找翻了好一会儿api。最终无果告终,无奈下试着用createWorkbook进行了简单的测试,原来该方法是对已存在的文件进行修改。同样WritableSheet sheet = book.createSheet(fileName,0);//如果fileName的sheet存在则修改该sheet。这视乎是个惊喜的发现,因为我差一点就要把创建文件的方法写成创建前判断文件如果存在,则删除并重新创建。

        这有可能是我没有仔细认真阅读api导致的错误理解,在此做个记录,以免再犯同样的错误。

/**
	 * 
	 * 函数名:    
	 * 		writeToXlsFile
	 * 功能描述:  
	 * 		向excel文件中写入内容 
	 * 修改历史:    
	 * @date      2011-10-25 下午02:04:56
	 * @author    heweina
	 * @version   1.0
	 * @description
	 * 输入、输出参数:    
	 * @param path
	 * 		工程根路径
	 * @param fileName
	 * 		文件名称
	 * @param fileSuffix
	 * 		文件后缀
	 * @param title
	 * 		以“,”分隔的标题行字符串
	 * @param content
	 * 		以“,”分隔的内容行字符串
	 * @return
	 * 		写入成功返回true,否则返回false
	 */
	public static boolean writeToXlsFile(String path, String fileName,String fileSuffix, String title, String content){
		boolean flag = false;
		try {
			WritableWorkbook book = Workbook.createWorkbook(new File(path+File.separator+fileName+fileSuffix));
			//生成名为“第一页”的工作表,参数0表示这是第一页 
			WritableSheet sheet = book.createSheet(fileName,0); 
			if(title!=null){
				String titles[] = title.split(",");
				//在Label对象的构造子中指名单元格位置是第一列第一行(0,0) 
				for(int i=0; i<titles.length; i++){	
					Label label = new Label(i,0,titles[i]); 
					//将定义好的单元格添加到工作表中 
					sheet.addCell(label); 
				}
			}
			if(content!=null){
				String contents[] = content.split(",");
				for(int i=0; i<contents.length; i++){	
					//从第二行第一列开始写
					Label label = new Label(i,1,contents[i]); 
					//将定义好的单元格添加到工作表中 
					sheet.addCell(label); 
				}
			}
			
			//写入数据并关闭文件 
			book.write(); 
			book.close(); 
			flag = true;

		} catch (IOException e) {
		} catch (RowsExceededException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		}

		return flag;
	}

 

 

分享到:
评论

相关推荐

    jxl导出excel加水印.zip

    本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...

    jxl的读Excel,写Excel,更新Excel以及一些文件操作

    创建一个新的Excel文件或者向已有的Excel文件添加新内容,同样需要先创建`Workbook`实例,然后使用`Workbook.createSheet(String name, int index)`方法创建新的工作表,接着是创建`WritableSheet`对象。`...

    java报表JXL和POI打印设置

    java报表JXL和POI打印设置

    jxl接口和类的api

    `WritableSheet` 提供了对工作表的写操作,如添加行、列、单元格,以及设置样式等。 #### 1.4 `Sheet` 接口 与`WritableSheet` 相对应,`Sheet` 接口用于读取工作表,提供获取单元格、行和列的方法。 ### 2. 主要...

    JXL操作excel设置字体颜色设置单元格详解

    JXL操作Excel设置字体颜色设置单元格详解 JXL是一个韩国人写的Java操作Excel的工具,在开源...使用JXL操作Excel设置字体颜色设置单元格可以通过使用jxl.write.Label对象和jxl.write.WritableSheet对象的相关方法实现。

    jxl.jar最新版本+使用说明+例子

    WritableSheet writableSheet = (WritableSheet) sheet; WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 12); WritableCellFormat format = new WritableCellFormat(font); Label label =...

    jxl操作excel

    WritableSheet writableSheet = writableWorkbook.createSheet("新工作表", 0); Label label = new Label(0, 0, "姓名"); writableSheet.addCell(label); Number number = new Number(1, 0, 3.14); writableSheet....

    java操作excel(jxl)

    WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); WritableCell cell = new Label(0, 0, "Hello, World!"); // 创建一个包含文本的单元格 writableSheet.addCell(cell); ...

    Java使用jxl包写Excel文件适合列宽实现

    public static void writeDataToSheet(WritableSheet sheet, List&lt;List&lt;String&gt;&gt; list) throws Exception { int[] columnBestWidth = new int[list.get(0).size()]; // 保存最佳列宽数据的数组 for (int i = 0; i...

    JXL官方文档

    WritableSheet writableSheet = (WritableSheet) sheet; Label label = new Label(0, 0, "你好,世界!"); // 创建可写入的单元格 writableSheet.addCell(label); workbook.write(); workbook.close(); ``` ### 4. ...

    java输出电子表格

    WritableSheet writableSheet = (WritableSheet) sheet; Label label = new Label(0, 0, "Hello, World!"); writableSheet.addCell(label); ``` 3. **保存到文件** 与Apache POI类似,写入并关闭工作簿。 ```java...

    jexcelapi_2_6_2 java 读取excel java操作excel jxl API

    WritableSheet writableSheet = writableWorkbook.createSheet("New Sheet", 0); // 创建数据 Label label = new Label(0, 0, "Hello, JExcelAPI!"); // 第一列第一行写入文本 writableSheet.addCell(label); ...

    jxl_2.6.9.jar

    使用WritableWorkbook、WritableSheet、Workbook等类时需引用的jar包

    jxl的api chm格式

    WritableSheet writableSheet = (WritableSheet) worksheet; Label label = new Label(0, 0, "Hello, JXL!"); writableSheet.addCell(label); ``` 4. **单元格样式**:JXL API允许我们定制单元格的样式,如字体、...

    jxl操作excle

    WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); Label label = new Label(0, 0, "Hello, Excel!"); writableSheet.addCell(label); writableWorkbook.write(); writableWorkbook...

    jxl的excel读写操作

    WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); ``` `WritableSheet`提供了创建和修改单元格的方法,如`writeString()`, `writeNumber()`, `writeBoolean()`等。 4. **单元格操作**...

    java处理excel

    WritableSheet createSheet(String sheetName, int sheetIndex); ``` - **`sheetName`**:表示新创建的Sheet的名字,它是一个字符串。 - **`sheetIndex`**:表示新创建的Sheet的位置索引。该索引值从0开始,如果...

    java操作Excel

    WritableSheet writableSheet = writableWorkbook.copySheet(0); ``` 接下来,可以创建`Label`或`Number`对象来设置单元格的内容: ```java Label label = new Label(0, 0, "Hello, Excel!"); // 第0列,第0行 ...

    JXL操作EXCEL的各个类的解析.doc

    WritableSheet 类提供了一些方法来操作 sheet 的内容,例如 getRow(int row) 方法可以获取第 row 行的内容,getColumn(int column) 方法可以获取第 column 列的内容等。 WritableFont 类、WritableCellFormat 类和 ...

Global site tag (gtag.js) - Google Analytics