今天工作中再次用的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时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...
创建一个新的Excel文件或者向已有的Excel文件添加新内容,同样需要先创建`Workbook`实例,然后使用`Workbook.createSheet(String name, int index)`方法创建新的工作表,接着是创建`WritableSheet`对象。`...
java报表JXL和POI打印设置
`WritableSheet` 提供了对工作表的写操作,如添加行、列、单元格,以及设置样式等。 #### 1.4 `Sheet` 接口 与`WritableSheet` 相对应,`Sheet` 接口用于读取工作表,提供获取单元格、行和列的方法。 ### 2. 主要...
JXL操作Excel设置字体颜色设置单元格详解 JXL是一个韩国人写的Java操作Excel的工具,在开源...使用JXL操作Excel设置字体颜色设置单元格可以通过使用jxl.write.Label对象和jxl.write.WritableSheet对象的相关方法实现。
WritableSheet writableSheet = (WritableSheet) sheet; WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 12); WritableCellFormat format = new WritableCellFormat(font); Label label =...
WritableSheet writableSheet = writableWorkbook.createSheet("新工作表", 0); Label label = new Label(0, 0, "姓名"); writableSheet.addCell(label); Number number = new Number(1, 0, 3.14); writableSheet....
WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); WritableCell cell = new Label(0, 0, "Hello, World!"); // 创建一个包含文本的单元格 writableSheet.addCell(cell); ...
public static void writeDataToSheet(WritableSheet sheet, List<List<String>> list) throws Exception { int[] columnBestWidth = new int[list.get(0).size()]; // 保存最佳列宽数据的数组 for (int i = 0; i...
WritableSheet writableSheet = (WritableSheet) sheet; Label label = new Label(0, 0, "你好,世界!"); // 创建可写入的单元格 writableSheet.addCell(label); workbook.write(); workbook.close(); ``` ### 4. ...
WritableSheet writableSheet = (WritableSheet) sheet; Label label = new Label(0, 0, "Hello, World!"); writableSheet.addCell(label); ``` 3. **保存到文件** 与Apache POI类似,写入并关闭工作簿。 ```java...
WritableSheet writableSheet = writableWorkbook.createSheet("New Sheet", 0); // 创建数据 Label label = new Label(0, 0, "Hello, JExcelAPI!"); // 第一列第一行写入文本 writableSheet.addCell(label); ...
使用WritableWorkbook、WritableSheet、Workbook等类时需引用的jar包
WritableSheet writableSheet = (WritableSheet) worksheet; Label label = new Label(0, 0, "Hello, JXL!"); writableSheet.addCell(label); ``` 4. **单元格样式**:JXL API允许我们定制单元格的样式,如字体、...
WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); Label label = new Label(0, 0, "Hello, Excel!"); writableSheet.addCell(label); writableWorkbook.write(); writableWorkbook...
WritableSheet writableSheet = writableWorkbook.createSheet("Sheet1", 0); ``` `WritableSheet`提供了创建和修改单元格的方法,如`writeString()`, `writeNumber()`, `writeBoolean()`等。 4. **单元格操作**...
WritableSheet createSheet(String sheetName, int sheetIndex); ``` - **`sheetName`**:表示新创建的Sheet的名字,它是一个字符串。 - **`sheetIndex`**:表示新创建的Sheet的位置索引。该索引值从0开始,如果...
WritableSheet writableSheet = writableWorkbook.copySheet(0); ``` 接下来,可以创建`Label`或`Number`对象来设置单元格的内容: ```java Label label = new Label(0, 0, "Hello, Excel!"); // 第0列,第0行 ...
WritableSheet 类提供了一些方法来操作 sheet 的内容,例如 getRow(int row) 方法可以获取第 row 行的内容,getColumn(int column) 方法可以获取第 column 列的内容等。 WritableFont 类、WritableCellFormat 类和 ...