小编Wiv*_*ani的帖子

如何使用Apache POI读取Java中的.DOC文件以将图像与文本分开?

我需要从Java中读取包含文本和图像的Word .doc文件.我需要识别图像和文本并将它们分成2个文件.

我最近听说过"Apache POI".如何使用Apache POI读取Word .doc文件?

java ms-word apache-poi

5
推荐指数
1
解决办法
2万
查看次数

使用POI命名单元格

在普通的excel中,可以使用工作表左上角的小文本框命名单元格(或范围),例如,可以将单元格从H13命名为"total".

有没有办法通过Apache POI做到这一点?

java excel apache-poi

5
推荐指数
1
解决办法
4945
查看次数

是否可以从POI将Excel添加到Excel工作表中?

有没有人知道是否可以从Java中将VB添加到Excel文档中?我基本上想要将一个数据透视表添加到工作表,并动态设置它的一些属性.我知道我可以从VB访问数据透视表设置,但不能直接从POI访问.

java excel vba apache-poi

4
推荐指数
1
解决办法
1522
查看次数

Products.Poi和Subversion集成

是否有任何现成的解决方案可以将Products.Poi与Subversion更新日志集成?如果没有,那将是编码的步骤?

每当提交SVN存储库引用日志消息中的问题ID时,我都希望在Poi问题跟踪器中添加注释.例如,可以用MantisBT做些什么.

svn plone

4
推荐指数
1
解决办法
143
查看次数

使用POI创建Excel工作簿时有哪些(陷阱和)限制?

刚看到崩溃,我们超过了255列.也许这个问题应该直接转向POI,但是我可以说我不想打扰他们,以便进一步开发它已经具有的增长性有用的API.;-) 限制页面不会逐步详细说明.

那么:假设输出在Excel中可读,您对实际限制的体验是什么?有没有人使用POI来评估和探索POI生成的Excel文件的软硬限制?

我可以在POI界面中快速找到的唯一限制如下.Microsoft列出了Excel 中的其他限制,这些限制似乎没有在POI中涵盖.

编辑:哎呀.刚刚意识到我们在过去的5年里没有更新过POI,所以下面的代码可能已经被替换了100次.

编辑:以下代码自2008年10月19日版本3.2以来没有变化.

/**
 * @throws RuntimeException if the bounds are exceeded.
 */
private void checkBounds(int cellNum) {
  if (cellNum > 255) {
      throw new RuntimeException("You cannot have more than 255 columns "+
                "in a given row (IV).  Because Excel can't handle it");
  }
  else if (cellNum < 0) {
      throw new RuntimeException("You cannot reference columns with an index of less then 0.");
  }
}
Run Code Online (Sandbox Code Playgroud)

java excel apache-poi

3
推荐指数
1
解决办法
7805
查看次数

使用空字符串而不是null - 一个好习惯?

例如在数据库中考虑:

CREATE TABLE users (
  id INTEGER IDENTITY PRIMARY KEY,
  last_name VARCHAR (50) DEFAULT '' NOT NULL,
  first_name VARCHAR (50) DEFAULT '' NOT NULL,
  email VARCHAR(50) DEFAULT '' NOT NULL)
Run Code Online (Sandbox Code Playgroud)

并考虑使用Hibernate作为ORM与该数据库交互的程序.

在我看来,这意味着:

  • 避免NullPointerExceptions
  • 避免检查空值

这是好习惯吗?请举例说明优缺点.

java database-design hibernate

3
推荐指数
2
解决办法
1560
查看次数

如何使用poi读取excel文件中的空单元格以及如何将此空单元格添加到数组列表中?

    public void readExcel(String fileName)
    try 
    {
          FileInputStream myInput = new FileInputStream(fileName);
          POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
          HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
          HSSFSheet mySheet = myWorkBook.getSheetAt(0);
          Iterator rowIter = mySheet.rowIterator();
          while(rowIter.hasNext())
          {
             HSSFRow myRow = (HSSFRow) rowIter.next();
             Iterator cellIter = myRow.cellIterator();
             ArrayList cellStoreVector=new ArrayList();
             String header_name = null;
             while(cellIter.hasNext())
             {
                 HSSFCell myCell = (HSSFCell) cellIter.next();
                 // if it is empty cell in  my excel file its not added to
                 // array List                            
                cellStoreVector.add(myCell); 
             }
             cellVectorHolder.add(cellStoreVector);

          } 
        }catch (Exception e)
         {
           e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java apache-poi

2
推荐指数
1
解决办法
2万
查看次数

需要PHP pregmach Regexp模式的字符串,直到"|||" 字符出现

我有PHP变量,包含如下字符串:

http://domain.com/uploads/image1.jpg|||http://domain.com/uploads/image2.jpg|||http://domain.com/uploads/image3.jpg|||...
Run Code Online (Sandbox Code Playgroud)

我需要从该字符串中获取第一个图像URL,因此它将是字符串,直到第一个"|||" 字符.所以我需要进入变量的结果是:http://domain.com/uploads/image1.jpg

请帮我为它编写正确的PHP preg_match regexp模式.

谢谢!蒂姆

php regex preg-match

2
推荐指数
1
解决办法
94
查看次数

Tika parseToString 调用出现问题

我正在使用 POI 从 Excel 文件中提取数据。(Excel 工作表中的第 5 列包含我的文件系统中存在的文件的名称)我循环遍历表的行(使用 POI 提取单元格的内容),并为每一行创建 Tika 的实例,并解析名为的文件第五列带有 Tika“parseToString(file)”,当文件是 Office 文档(excel、ppt、word)时,我收到此错误:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: filesystem
    at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:185)
    at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:131)
    at org.apache.tika.parser.microsoft.WordExtractor.parse(WordExtractor.java:61)
    at org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:182)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:197)
    at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:197)
    at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:135)
    at org.apache.tika.Tika.parseToString(Tika.java:357)
    at org.apache.tika.Tika.parseToString(Tika.java:423)
    at org.apache.tika.Tika.parseToString(Tika.java:403)
    at HP.BuildMailExcelDoc.getTextFromTika(BuildMailExcelDoc.java:355)
    at HP.BuildMailExcelDoc.addExcelDoc(BuildMailExcelDoc.java:314)
    at HP.BuildMailExcelDoc.buildDoc(BuildMailExcelDoc.java:196)
    at HP.BuildMailExcelDoc.buildMailDoc(BuildMailExcelDoc.java:102)
    at HP.BuildMailExcelDoc.indexDirectory(BuildMailExcelDoc.java:69)
    at HP.BuildMailExcelDoc.indexDirectory(BuildMailExcelDoc.java:78)
    at HP.BuildMailExcelDoc.buildDoc(BuildMailExcelDoc.java:63)
    at HP.IndexGUI$1.mouseClicked(IndexGUI.java:281)
    at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown …
Run Code Online (Sandbox Code Playgroud)

apache-poi apache-tika

1
推荐指数
1
解决办法
2412
查看次数

使用DOM(Java)解析XML文件

我想解析以下网址:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi? db = nnucleotide& id = 22485891

结果我想出了以下方法:

public void parseXml2(String URL) {
    DOMParser parser = new DOMParser();

    try {
        parser.parse(new InputSource(new URL(URL).openStream()));
        Document doc = parser.getDocument();

        NodeList nodeList = doc.getElementsByTagName("Item");
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node n = nodeList.item(i);
            Node actualNode = n.getFirstChild();
            if (actualNode != null) {
                System.out.println(actualNode.getNodeValue());
            }
        }

    } catch (SAXException ex) {
        Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此方法,我可以获取Item节点的值,但我不能使用它们的任何属性.我尝试使用NamedNodeMap尝试getAttribute(),但仍无济于事.

  1. 为什么我必须要 …

java xml parsing dom

1
推荐指数
2
解决办法
2万
查看次数

使用POI从Excel工作表中获取日期

我使用以下代码使用POI从excel表中获取日期,

if (DateUtil.isCellDateFormatted(currentCell))
                {
                    Date date = currentCell.getDateCellValue();
                    cellValue = date.getDate() + "/" + (date.getMonth() + 1) + "/" + (1900 + date.getYear());
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,Excel工作表的日期格式为MM/dd/yy.但是如果我使月份值大于12(即> = 13),则格式将更改为dd/MM/yy.

通过上面的代码,如果我将日期定为10/11/2010,它将月份作为10,将日期作为11.如果我像15/10/2010那样给出,我将月份作为10,将日期作为15.

但我需要保持一种格式为dd/MM/yyyy.我怎样才能做到这一点?

java excel apache-poi

0
推荐指数
1
解决办法
3万
查看次数