我只想有一个文件输出流
,将工作簿的内容写入应用程序中的文件中,并在此 excel 中创建多个工作表。我正在使用Apache POI来读取/写入我的excel。我有以下方法这样做 -
private static void writeToSpreadSheet(String test,Map<String,String> errorMap,Object object) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook()
HSSFSheet sheet = workbook.createSheet(test);
FileOutputStream fis = new FileOutputStream("output/test.xls");
//do stuff and finally write workbook contents to a file
workbook.write(fis);
if (fis != null)
fis.close();
}
我在这里面临的问题是,每次我调用WriteToSpreadSheet
时,都会创建一个新文件,并且存量数据会被覆盖。我只想要一个文件,并且需要将新的工作表添加到我现有的文件中。我如何实现这一点?
我不在我的机器附近,所以我无法为您提供确切的代码库,但如果您按照确切的步骤进行操作,那么您可以达到预期的结果。
我已经从这里和那里组装了代码,它不能按原样工作。你必须修改代码,使其按你想要的方式工作。我把那部分留给你。
final File file = "/output/test.xls";
HSSFWorkbook workbook = null;
FileOutputStream fileOut = new FileOutputStream(file);
private static void writeToSpreadSheet(String test,
Map<String, String> errorMap, Object object) throws IOException {
// Check whether your file exist
// if not then crate a workbook
// something like below
if (!file.exists()) {
System.out.println("Creating a new workbook '" + file + "'");
workbook = new HSSFWorkbook();
} else {
// create a method to get very last sheet number something like
// following .
int sheetIndex = getLastSheetIndex();
// if you dont to go with find last sheet index idea then you can
// create your unique name may be like timestamp or so
// add the new sheet with new index
HSSFSheet sheet = workbook.createSheet("Test Sheet " + sheetIndex);
// Write your content
workbook.write(fileOut);
fileOut.close();
}
}
private static int getLastSheetIndex() {
int sheetIndex = 1;
while (workbook.getSheet("Test Sheet " + sheetIndex) != null) {
sheetIndex++;
}
return sheetIndex;
}
目前你在做什么:
private static void writeToSpreadSheet(String test,
Map<String, String> errorMap, Object object) throws IOException {
// Creating the new workbook every time you call this method
HSSFWorkbook workbook = new HSSFWorkbook();
// Adding the same sheet to newly created workbook
HSSFSheet sheet = workbook.createSheet(test);
FileOutputStream fis = new FileOutputStream("output/test.xls");
// causing to overwrite your old workbook
workbook.write(fis);
if (fis != null)
fis.close();
}
问题内容: 堆垛机。我一直在网站上搜索我的问题,但没有找到我想要的东西。我坚持下面的代码: 得到了一个不错的数组列表,但是如果我在ArrayList中添加更多“ newUsers”,它们似乎会相互覆盖。我不想创建一个newUser1,newUser2对象,因为稍后在我的程序中,我必须能够直接从该程序添加新用户。 如何实现呢? ValidateUser: } 问题答案: 如果我理解正确,那么您是以这
我正在浏览Apache FOP快速入门。从命令行,我将一个包含svg元素的简单xml文件转换成pdf文件。我可以做到这一点,但由svg生成的图像被切断。我不熟悉XSL-FO 以下是xml: 下面是xsl: 图像应该显示红色 我缺少了哪些属性,如何才能正确显示整个svg图像(两个完整的圆圈重叠)? 谢谢, 勃兰特 附言:我会发一张图片来展示这个问题,但是我没有足够高的声誉。
假设我想从许多xmls中编写具有以下格式的文本输出。其中一些xml文件可能没有节点[name、age、schood]的值。 <学生> 因此,基本上我使用的是iu正在使用的一个xsl文件,并试图通过考虑这些类似格式的xml文件(具有不同的节点值)来生成输出。 但是我只需要将相应的输出写到具有特定条件的xml文件中。[假设有一个名称,因为有些xml文件不包含名称值]。 因此,如果我有5个xml文件要转
问题内容: 我有2个excel文件,我想比较内容并突出显示差异。例如: 第一个档案… 有没有第三方图书馆可以做到这一点?或最好的方法是什么? 问题答案: 就像DaDaDom所说的那样,Apache POI是您想要的。您可以从此页面下载它。请注意,POI项目不是完全独立的,您可能需要下载一些额外的库。请遵循Apache POI网站上的说明。这是您的用法: 如果这是一个新文件,则可能需要先创建图纸才能
我试图实现材料抽屉菜单使用 > Android支持v7.widget。工具栏 android.support.design.widget.NavigationView 问题既是NavigationView *注意:我曾尝试用LinearLayout替换RelativeLayout作为容器,但不起作用。 activity_布局。xml 碎片xml ActivityMain。Java语言 } 这里是结
问题内容: 我可以在不生成编译的.pyc文件的情况下运行python解释器吗? 问题答案: 来自“ Python 2.6的新增功能- 解释器更改” : 现在,可以通过向Python解释器提供-B开关,或者通过在运行解释器之前设置 PYTHONDONTWRITEBYTECODE环境变量来阻止Python编写.pyc或.pyo文件。此设置可作为Python程序的 变量使用,并且Python代码可以更改