Tag: apache poi

在Excel中使用命名范围作为系列值

我有一个使用Apache POI模板生成的电子表格,其中包含一些硬编码的命名范围。 Named range: ACTUALS Refers to: =Report!$O$5:$AL$5 现在我有一个图表…其中一个系列是这样的 Series name: =Report!$N$5 Series values: =Report!$O$5:$AL$5 请注意,命名范围“是指”与“系列值”相同。 我可以使用命名范围作为系列值以某种方式类似于此? Series name: =Report!$N$5 Series values: =ACTUALS 上面的部分给出了一个错误,所以我不知道我做错了什么。

使用Apache POI导出到Java的Excel

我使用Apache POI以excel格式导出数据。 导入进展顺利,但是当我尝试打开文档时,我有这个消息“Excel在文档”toto.xls“中遇到了无法读取的内容。是否要恢复此工作簿的内容?如果此工作簿的源是可靠的点击是。“ 下面是导出excel的java代码 public void exportExcel() throws IOException { // Creation workbook vide XSSFWorkbook workbook = new XSSFWorkbook(); // Creation d'une feuille vierge XSSFSheet sheet = workbook.createSheet("Participant"); List<toto> totoList = this.getAllToto; int indiceMap = 2; Map<String, Object[]> data = new TreeMap<String, Object[]>(); data.put("1", new Object[] { "name", "surname" }); for (TotoBean l : totoList) […]

当引用的单元格编程改变时链接不更新

我在其中一个工作表中引用了另一个单元格B中的单元格A. 链接被设置为自动更新。 每当我更改单元格B中的值时,单元格A按预期反映更改。 但是,如果我从外侧Excel(使用Java POI apache API)更改单元格B的值,则单元A不会更改。 我打开表单,单元格A仍然反映了旧值。 如果我做一个重新计算,同样的事情。 任何想法如何使这个值更新/更改,以反映新的单元格? 请帮忙

格式问题,同时读取Excel数据到Java

我正在阅读使用java apache的Excel数据。 在读取869.87929(在Excel中)的双精度值到869.8792899999999(在java中)时,我遇到了格式问题。 我正在使用以下文件来读取Excel数据。 1. Schema.csv:SheetName,2-int-Double 2. File.xls: col1 | col2 123 | 869.87929 示例代码: if(type.equals("Double")){ Double fval=Double.parseDouble(content[i-1]); String sval=fval.toString(); listObjects.add(new Double(Double.parseDouble(sval))); } 注意:从file.xls中的schema.csv&content []值键入

如何编程以在Excel中保存一堆“.xls”文件

我需要处理很多来自这个名为Aperio的Microscopy图像分析软件的.xls文件(在用Aperio分析之后,它允许您将数据导出为“只读”xls格式。在Mac上的Excel,在Windows机器上,由于文件被保护,所以保存并保存为button是灰色的)。 不幸的是,这些文件的标题不是标准的OLE2格式。 因此,除非在Microsoft Excel中手动加载,并且逐个保存为.xls,否则不能使用Java API POI进行拾取。 既然目录中有这么多的文件,那么保存就非常麻烦了。 有没有办法编写一个Java程序来自动将这些文件保存为标准的xls文件? 如果Java不可能,那么其​​他什么语言可以处理这种情况呢,Python? 编辑: 我用hex阅读器加载了一个文件,这里是:09 04 06 00 07 00 10 00 00 00 5C 00 04 00 05 4D 44 41 80 00 08 00 00 00 00 00 00 00 00 00 92 00 19 00 06 00 00 00 00 00 F0 F0 F0 00 00 […]

无法使用apache POI在工作簿中创build新的Excel工作表

我正在尝试复制单个文件中的多个文件。 该excel文件中的每个表单将包含一个文件的内容。 还有大约6个文件需要复制。 所以结果文件应该包含6张。 但是当我运行我的代码时,只有一张纸是为一个文件生成的。 我试着debugging,但无法弄清楚原因。 这是我的代码。 public static void main(String[] args) throws IOException { // TODO Auto-generated method stub CreateSingleExcelFile cef = new CreateSingleExcelFile(); cef.fileIterator(); } public void fileIterator() throws IOException{ File dir = new File("path for files to copy"); File[] dir_listing = dir.listFiles(); HSSFWorkbook my_wb = new HSSFWorkbook(); //creating an output stream to […]

即使将jar文件包含在classpath中,也无法在运行时find类

我正在尝试使用apache poi api 。 我已经下载了jar库。 这是我写的代码。 该文件的名称是Main.java 。 /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; /* Name of the class has to be "Main" only if the class is public. */ public class Main { public static void main […]

如何使用dropwizard作为excel文件返回响应?

我正在使用dropwizard进行我的rest api开发,它将返回json响应。 我现在遇到了一个要求,我必须返回一个特定API的调用的Excel文件。 我发现apache poi是很好用的库。 但是,我如何返回Excel文件作为响应。 浏览器应该显示一个选项来下载。

在Apache POI中通过单元名称设置新的单元格值

我是Java和Apache POI的新手,但是我得到了这个任务,我必须从命令行读取Excel文件的名称以及需要修改的列的名称和值。 所以最后应用程序将会像这样运行:java test -f test.xls -i B2 = 10; B3 = 20; B4 = 30 我创build了一个包含单元格名称及其值的映射,但是我不知道如何使用这个映射来访问单元格的名称(例如:B2)并设置新的值(例如:10) 。 我的代码到目前为止是: package test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.CellReference; import org.apache.poi.ss.usermodel.*; public class ReadExcel { […]

作为双数组POI读取数据

我有一个代码,它使用Apache POI从Excel工作表中读取数据,并将其存储为一个string数组。 但是我希望这个数据是一个double的数组,因为我必须将其用于其他目的。 我试着改变string使用Double.parseDouble加倍。 但从Excel文件中读取的数据变成这样的@ 8bbab2f。 我也尝试初始化输出为双数组,但引发错误。 那么如何使用Apache POI将数据作为double数组来获取? 我的代码如下: import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; public class XLRead { public static void main(String args[]) throws Exception { Scanner in = new Scanner(System.in); String wb_name; wb_name = in.next(); File excel = new File("/Users/Documents/Sample_data/" + wb_name); FileInputStream fis = new FileInputStream(excel); HSSFWorkbook […]