Tag: apache poi

Excel导出工作在本地,在服务器上运行时,字段变得隐藏

好的,所以我有一个SmartGWT Web应用程序,我有一些报表运行在列表网格中。 按照使用listgrid.exportclientdata()的示例,使用Smartgwt内置的导出导出到excel; 这是问题: 当在本地运行时,所有工作正常,我可以打开XLSX文件并查看所有数据。 当从服务器运行时,包含数据的列将被隐藏! 如果我手动从Excel内做“取消隐藏”的事情,我可以看到列… 我的本地环境是运行Sun Java的Mac OSX Mountain Lion(也是早些时候尝试的)。 prod服务器是运行OpenJDK的Debian。 不知道这是否会有什么关系,我不知道如何去解决它…在两个环境中运行我的webapp在Tomcat6上。

在Apache Poi中从我导出的Excel中删除特殊字符和符号

我有用于导出excel文档的这种方法,但是当我打开excel时,我得到这种带有怪异字符和符号的文件,没有格式化; 有人可以指导我如何解决这个问题? 这是我的方法,感谢您的帮助; 我仍在为此工作。 public void CrearExcel() throws SQLException { //Map param = new HashMap(); try { Connection conn = Conexion.getConnTest(); PreparedStatement ps = null; ResultSet rs = null; String sql = "SELECT NUM_FICHA, ASPIRANTE.AP_PATERNO, ASPIRANTE.AP_MATERNO, ASPIRANTE.NOMBRE FROM REFERENCIA INNER JOIN ASPIRANTE ON REFERENCIA.FK_ASPIRANTE_ID_ASPIRANTE = ASPIRANTE.ID_USUARIO WHERE NUM_FICHA IS NOT NULL"; ps = conn.prepareStatement(sql); rs […]

Excel追加更新失败与Apache POI

我从URL中获取数据并尝试使用以下代码将行附加到现有的Excel文件中。 if (file.exists()) { in=new FileInputStream(new File(path)); workbook = new HSSFWorkbook(in); sheet = workbook.getSheetAt(0); in.close(); } else { workbook = new HSSFWorkbook(); sheet = workbook.createSheet(); row = sheet.createRow(0); row.createCell(0).setCellValue("keyTerm"); row.createCell(1).setCellValue("username"); row.createCell(2).setCellValue("Text"); row.createCell(3).setCellValue("Timestamp"); } 接着 int count = sheet.getLastRowNum(); for (int i = 0; i < tweets.length(); i++) { tweet = tweets.getJSONObject(i); count++; row = sheet.createRow(count); […]

在android项目中写入excel文件与apache poi

我有问题让我的项目工作,我会粘贴的Java文件和错误日志希望有人可以给我一个提示。 单击R.id.bskickaTidSc3中的buttonR.id.bskickaTidSc3时,应用程序崩溃。 错误日志 06-08 12:45:49.365: E/dalvikvm(1243): Could not find class 'org.apache.poi.hssf.usermodel.HSSFWorkbook', referenced from method com.example.spapp_beta.TidsedelExcel.SetExcelVecka 06-08 12:45:49.365: W/dalvikvm(1243): VFY: unable to resolve new-instance 67 (Lorg/apache/poi/hssf/usermodel/HSSFWorkbook;) in Lcom/example/spapp_beta/TidsedelExcel; 06-08 12:45:49.365: D/dalvikvm(1243): VFY: replacing opcode 0x22 at 0x0000 06-08 12:45:49.365: D/dalvikvm(1243): DexOpt: unable to opt direct call 0x0087 at 0x09 in Lcom/example/spapp_beta/TidsedelExcel;.SetExcelVecka 06-08 12:45:49.375: D/AndroidRuntime(1243): Shutting down […]

使用二维数组填充行和单元格时很困难

有一个HashMap: HashMap<String, Object> matrix = new HashMap<String, Object>(); 考虑到对象是一个ArrayList的数据: for (int i = 0; i < matrix.keySet().size() * 2; i += 2) { keyRow.createCell(i).setCellValue(matrix.keySet().toArray()[i / 2].toString()); for (int j = 5; j < (((ArrayList<String>) matrix.get(matrix.keySet().toArray()[i / 2].toString())).size() + 5); j++) { valueRow = worksheet.createRow((short) j); valueRow.createCell(i).setCellValue(((ArrayList<String>) matrix.get(matrix.keySet().toArray()[i / 2].toString())).toArray()[j – 5].toString()); } } 正如你所看到的,外层循环使用HashMap的keySet()的string填充keyRow,同时在中间的一个空单元之后(它会增加2)。 内部循环应该填充每个键下的单元格,每个键都有相应的值(这是一个具有更多值的ArrayList,这就是为什么是另一个循环)。 […]

使用Apache POI获取Excel工作簿密码

我正在尝试读取Excel表格中的数据,我能够获取数据并使用HSSFWorkbook读取它。一切正常,我能够获取数据。 我已经为工作簿设置了一个密码,在excel表Protect Workbook簿中手动设置为“ABCXYZ”,同时打开excel文件,它会问我密码,只有密码正确后,才允许我写入或读取excel文件。 我的问题是如何在Java程序中获得这个密码“ABCXYZ”。 HSSFWorkbook wb = new HSSFWorkbook(inputStream); wb.isWriteProtected();–> This returns false.

范围内最后一个负值列的Excel公式(无数组公式)

我有一个Excel公式来查找连续的负值的最后一个单元格的列号。 问题是这是一个数组公式,我需要用来创build电子表格的工具(Apache POI SXSSF)不支持数组公式。 行中的值不以任何方式sorting。 我手工制作电子表格时使用的数组公式就是 {=MATCH(2,1/(B18:M18<0))} 有没有办法用一个正常的公式达到相同的结果? 感谢您的任何提示!

我的错误在哪里?

我有一个阅读Excel文件的问题,并通过Apache poi 3.9进行分析…我添加了外部的JAR文件,但它仍然给我错误。 在这里我的代码 import java.io.File; import java.io.FileInputStream; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class loop { public static void main(String [] args) throws Exception { File excel= new File("C:\\Users\\songSent.xlsx"); FileInputStream fis= new FileInputStream(excel); XSSFWorkbook wb= new XSSFWorkbook(fis); XSSFSheet ws= wb.getSheet("Input"); int rowNum=ws.getLastRowNum() +1; int colNum=ws.getRow(0).getLastCellNum(); String [][] data= new String[rowNum][colNum]; for(int […]

索引越界exception:重复获得同一行数次

这是我的代码,我用一个Excel工作表,读取其内容,并从我有一个列表添加一个GUID的每一行。 更新代码: public class PublishOutputFile { public void publishOutputWithGuids(List<String> guids, File file) throws Exception { FileInputStream fileStream = new FileInputStream(file); HSSFWorkbook workbook = new HSSFWorkbook(fileStream); HSSFSheet sheet = workbook.getSheetAt(0); Row toprow = sheet.getRow(0); int cellsNum = toprow.getLastCellNum(); Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); int rownum = row.getRowNum(); System.out.println(rownum); Iterator<Cell> cellIterator […]

Apache POI中的多个超链接

是否可以在一个Excel表单中多次使用相同的超链接? Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_URL); link.setAddress("http://poi.apache.org/"); 我已经使用上面的代码来创build超链接和下面的代码来生成excel工作表的行和列。 Row title = null; Cell reportNames = null; /* I am processing some queries here */ while(rs.next()){ title = sheet.createRow(idx); reportNames = title.createCell(0); reportNames.setCellValue(rs.getString(1)); reportNames.setHyperlink(link); idx++; sheet.autoSizeColumn(0); } } 我的问题是超链接显示/只适用于最后一行的内容。 我的意思是,只有最后一行是可点击的,并且正确地将我redirect到哪里,而其他人没有设置为超链接? 是否有限制,只有一个超链接指向相同的url? 还是我做错了什么?