小编Wiv*_*ani的帖子

在POI生成的Excel文件中为单元格添加边框

我正在使用POI生成Excel文件.我需要在工作表中的特定单元格中添加边框.

我怎么能做到这一点?

java excel border apache-poi

38
推荐指数
6
解决办法
9万
查看次数

Apache POI的基本Excel货币格式

我能够将单元格格式化为Dates,但我无法将单元格格式化为货币...任何人都有一个如何创建样式以使其工作的示例?我下面的代码显示了我正在创建的样式... styleDateFormat的工作方式类似于冠军,而styleCurrencyFormat对单元格没有影响.

private HSSFWorkbook wb;
private HSSFCellStyle styleDateFormat = null;
private HSSFCellStyle styleCurrencyFormat = null;
Run Code Online (Sandbox Code Playgroud)

......

public CouponicsReportBean(){
    wb = new HSSFWorkbook();
    InitializeFonts();

}

public void InitializeFonts()
{
    styleDateFormat = wb.createCellStyle();
    styleDateFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));


    styleCurrencyFormat = wb.createCellStyle();
    styleCurrencyFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("$#,##0.00"));

}
Run Code Online (Sandbox Code Playgroud)

java apache-poi

27
推荐指数
3
解决办法
5万
查看次数

如何使用Apache POI为Excel工作表中的行应用背景颜色?

我正在使用Apache POI将数据导出到Excel工作表.它工作正常.问题是我需要在生成Excel工作表时在Excel工作表中应用黄色背景颜色几行.请告诉我如何在生成时为excel表格行应用背景颜色.

谢谢,雷迪

java apache-poi

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

Files.readAllBytes vs Files.lines获取MalformedInputException

我原以为以下两种读取文件的方法应该表现得相同.但他们没有.第二种方法是抛出一个MalformedInputException.

public static void main(String[] args) {    
    try {
        String content = new String(Files.readAllBytes(Paths.get("_template.txt")));
        System.out.println(content);
    } catch (IOException e) {
        e.printStackTrace();
    }

    try(Stream<String> lines = Files.lines(Paths.get("_template.txt"))) {
        lines.forEach(System.out::println);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

Exception in thread "main" java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
    at java.io.BufferedReader$1.hasNext(BufferedReader.java:574)
    at java.util.Iterator.forEachRemaining(Iterator.java:115)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at Test.main(Test.java:19)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
    at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:161)
    at java.io.BufferedReader.readLine(BufferedReader.java:324)
    at java.io.BufferedReader.readLine(BufferedReader.java:389) …
Run Code Online (Sandbox Code Playgroud)

java file-io stream

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

使用Apache Poi从Excel工作表中获取单元格值

如何在java中用poi获取单元格值?

我的代码看起来像这样

String cellformula_total__percentage= "(1-E" + (rowIndex + 2) + "/" + "D" + (rowIndex + 2) + ")*100";
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellStyle(this.valueRightAlignStyleLightBlueBackground);
cell.setCellFormula("abs(" + cellformula_total__percentage + ")");
Run Code Online (Sandbox Code Playgroud)

但是,如果在这种情况下,我如何检查我的单元格值包含#DIV/0的错误值!以及如何用N/A替换它

java apache-poi

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

如何从HSSFWorkbook对象获取输入流

我希望我的Web应用程序用户将一些数据下载为Excel文件.

我有下一个函数在响应对象中发送输入流.

public static void sendFile(InputStream is, HttpServletResponse response) throws IOException {
        BufferedInputStream in = null;
        try {
            int count;
            byte[] buffer = new byte[BUFFER_SIZE];
            in = new BufferedInputStream(is);
            ServletOutputStream out = response.getOutputStream();
            while(-1 != (count = in.read(buffer)))
                out.write(buffer, 0, count);
            out.flush();            
        }   catch (IOException ioe) { 
            System.err.println("IOException in Download::sendFile"); 
            ioe.printStackTrace();
        } finally {
            if (in != null) {
                try { in.close(); 
                } catch (IOException ioe) { ioe.printStackTrace(); }
            }   
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想将我的HSSFWorkbook对象转换为输入流并将其传递给前一个方法.

public InputStream generateApplicationsExcel() {
    HSSFWorkbook wb = …
Run Code Online (Sandbox Code Playgroud)

java apache-poi

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

如何使用Apache POI选择并加粗整个工作表

我是Apache POI库的初学者.

在VBA中,我知道我可以使用以下代码选择并加粗整个工作表

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1)
ws.Cells.Font.Bold = True
Run Code Online (Sandbox Code Playgroud)

我是否可以通过使用Apache POI库进行编码来了解如何选择和加粗整个工作表?

谢谢

java excel apache-poi

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

Apache POI评估公式

我在工作表的单元格中有一些公式,我想在插入一些值后评估它们.例如:

我的公式是 =SUM(B1,B2)

在值插入B1值为1,B2值为3,并且公式结果为4

插入值后,现在B1有值5,而B2有值,2但公式仍然产生4,我该如何评估/触发这个计算?

当我点击公式单元格上的返回按钮后,7计算新值,是否有办法在没有手动交互的情况下触发此值?

我正在使用excel 2007 XSSFWorkbook

编辑/更新:

我在发布它之前使用了Gabors解决方案,但我正在使用它作为参考,以下是会发生的事情:

 Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.ss.formula.WorkbookEvaluator.<init>(Lorg/apache/poi/ss/formula/EvaluationWorkbook;Lorg/apache/poi/ss/formula/IStabilityClassifier;Lorg/apache/poi/hssf/record/formula/udf/UDFFinder;)V
        at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.<init>(XSSFFormulaEvaluator.java:64)
        at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.<init>(XSSFFormulaEvaluator.java:51)
...............
...............
Run Code Online (Sandbox Code Playgroud)

以下是相关代码的一部分:

public XSSFFormulaEvaluator getEvaluator(){
        if(evaluator == null){
            evaluator = new XSSFFormulaEvaluator(wb);
        }
        return evaluator;
    }
Run Code Online (Sandbox Code Playgroud)

实际上调用评估者:

//where index is int, and mycell is int
row = (XSSFRow) sheet.getRow(index);
cell = row.createCell(mycell);
getEvaluator().evaluateFormulaCell(cell);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个使用过这个并且成功的人,而不是那些没有真正尝试过谷歌解决方案的人,至少我一直在谷歌上搜索.

根据Gagravar的建议,我的课程路径上有2个POI:

        <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.8-beta1</version>
    </dependency>
    <dependency> …
Run Code Online (Sandbox Code Playgroud)

java excel apache-poi

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

适用于网络的高性能pdf查看器

我需要一个高性能的解决方案,用于在没有任何插件的网页上显示*.pdf文件(每个文件100~250Mb,扫描文档).Icepdf没有所需的选项,如兑现,自动设置质量,缩略图准备.而且,它只有基本的Web UI组件.

最适合客户端javascript和服务器端java的解决方案,但也欢迎其他技术.

javascript java

6
推荐指数
0
解决办法
1106
查看次数

使用POI命名单元格

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

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

java excel apache-poi

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

标签 统计

java ×10

apache-poi ×8

excel ×4

border ×1

file-io ×1

javascript ×1

stream ×1