当前位置: 首页 > 知识库问答 >
问题:

apache poi何时重写Excel格式,何时不重写?

施永贞
2023-03-14

我想使用Apache POI生成一个Excel,其中我可以显示大约2000条记录,其中每个记录包括一个日期和一个值。

我尝试的应用格式化的3种方法如下:所有这三种方法都涉及到使用预先格式化的Excel模板。然而,问题是,在Excel中要做多少格式化(以及如何应用格式化),在Java中要做多少。

方法1:在Excel本身中格式化一行,并使用Java代码复制格式化。例如:

Row existingRow = mySheet.getRow(4);
Cell existingCell = existingRow.getCell(0);
CellStyle currentStyle = existingCell.getCellStyle();

for (int w = 0; w < refData.size(); w++) {
    MyValues aa = refData.get(w);
    Row r = CellUtil.getRow(w + 4, mySheet);
    CellUtil.getCell(r, 0).setCellValue(aa.getMarketDate());
    if (w>0) {
         CellUtil.getCell(r, 0).setCellStyle(currentStyle);
    }

方法2:在Excel中选择包含所需格式的单元格并粘贴到我需要的区域(2000行)上,然后使用Apache POI填充数据

共有1个答案

姜俊民
2023-03-14

一种方法是在打开工作簿时使用VBA宏将格式应用于列。

Private Sub Workbook_Open()
   'column formatting
End Sub

然而,显然这有一个缺点,即用户需要启用宏

 类似资料:
  • null 此行有多个标记: new ActionListener(){}类型的方法actionPerformed(ActionEvent)必须重写超类方法 实现java.awt.event.ActionListener.ActionPerformed 代码为:

  • 我使用SpringBoot和Webflux的反应式编程。我想重复对endpoint的一些调用,直到数据可用为止(将返回一些内容)。 我想调用直到displayCommand返回状态为。如何告诉Webflux我的链的这一部分应该被调用5次,例如,因为我的数据库中的数据应该在5-10秒后出现。。。 我认为当前代码会导致再次调用整个链,而不仅仅是调用我链的适当部分(

  • 本文向大家介绍java中为何重写equals时必须重写hashCode方法详解,包括了java中为何重写equals时必须重写hashCode方法详解的使用技巧和注意事项,需要的朋友参考一下 前言 大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白。 在上一篇博文Java中e

  • 问题内容: 我有一个小的jquery片段,该页面在屏幕顶部显示通知消息,以响应页面上的用户操作。该通知通常在Ajax操作之后显示,其中包含动态内容。 例如: 该通知运行良好,除非用户连续快速执行两个或多个操作,否则超时功能将使自己感到困惑,并且第二条消息似乎在之前的3000毫秒之内。 如果执行新操作,是否有办法“杀死”先前的通知。我对动作/选择器没有问题,只是TimeOut函数....要么停止它,

  • 我正在使用TextView设置日期和时间与日期名称,但时间显示在24小时,我想设置在12小时格式。

  • 我需要将日期/时间从2014年8月20日15:30:00更改为2014年8月20日下午3:30 这可以使用javascript的日期对象来完成吗?