- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 mysql 获取数据并将其写入 Excel,条件如下所示,
List<DataClass> getdata = reports.getReportData(); //This will return data from jdbcTemplate
deviceId value date
T01 59 2-sep
T01 67 3-sep
T01 78 4-sep
T01 79 5-sep
T02 68 2-sep
T02 69 3-sep
T02 75 4-sep
T03 70 2-sep
T03 78 3-sep
T03 80 4-sep
T03 89 5-sep
我正在尝试的示例代码,
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Report");
HSSFRow header = sheet.createRow(0);
int counter = 1;
for (DataClass e : getdata ) {
if(counter != 1)
if(getdata.get(counter-1).getDeviceId() != (getdata.get(counter).getDeviceId())
#here i want to create seperate column for different deviceId values
HSSFRow row = sheet.createRow(counter++);());
row.createCell(0).setCellValue(e.getValue());
row.createCell(1).setCellValue(e.getDate());
}
我想将这些数据写入Excel,如下所示,
如何做到这一点?
最佳答案
创建一个新类来保存有关数据位置的信息:
class DataPosition {
public Integer colNum;
public Integer rowNum;
public DataPosition(Integer colNum,Integer rowNum) {
this.colNum = colNum;
this.rowNum = rowNum;
}
}
当您循环数据时,您会检查 deviceId 是否已包含在 Excel 中。如果是,则使用与该 deviceId 对应的最后一列和行号。如果不包含,则使用最后一列信息添加新的设备数据并将其存储在包含该数据位置的 map 中
Map<String, DataPosition> excelIds = new HashMap<>();
DataPosition position;
// Start at -2 so when it comes to the first value, you add 2 to place the column number to 0
Integer currentColNum = -2;
Integer currentRowNum = 1;
HSSFRow row;
for (DataClass e: getdata) {
position = excelIds.get(e.getDeviceId());
if (position != null) {
// Add a new row
position.rowNum++;
currentRowNum = position.rowNum;
} else {
// Add a new column (increments by two because you need two columns for the representation)
currentColNum += 2;
currentRowNum = 1;
excelIds.put(e.getDeviceId(), new DataPosition(currentColNum, currentRowNum));
}
row = sheet.getRow(currentRowNum);
if (row == null) {
row = sheet.createRow(currentRowNum);
}
row.createCell(currentColNum).setCellValue(e.getValue());
row.createCell(currentColNum + 1).setCellValue(e.getDate());
}
关于java - HSSFWorkbook - 使用不同值的单独列写入 Excel 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52643700/
5i 需要将 HSSFWorkbook(Apache 的 POI)转换为 ByteArray,然后将 ByteArray 转换回 HSSFWorkbook。以下测试用例说明了我的问题: @Tes
` class A { private HSSFWorkbook workbook; public A() { workbook = new HSSFWorkboo
我想使用 Apache Poi 在 Excel 工作簿中插入图像,但无法设置图像大小。我写了这段代码,但这不是我想要的。 InputStream inputStream2=new FileIn
我想将电子表格中标题行的字体设置为粗体。我能够使用以下代码在我的主要功能中做到这一点: HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet da
如何获取 Apache 的 POI HSSFWorkbook 的文件大小? 我有这样的代码 // inside Servlet OutputStream out = response.getOutpu
我希望我的 Web 应用程序用户将一些数据下载为 Excel 文件。 我有下一个函数在响应对象中发送输入流。 public static void sendFile(InputStream is, H
我正在使用 Spring 3 AbstractExcelView使用导出到 Excel 功能将文件下载到 .xls格式,但当我的行大于 65536 时,它会引发异常: Invalid row numb
我正在尝试从 mysql 获取数据并将其写入 Excel,条件如下所示, List getdata = reports.getReportData(); //This will return dat
调用简单 toBytes()确实会产生字节,但 exel 会引发警告。 Lost Document information 谷歌搜索给了我这个link看着Javadocs用于工作表和 POI HOW-
我正在尝试使用 Apache POI 3.17 创建一个带有预选特定单元格的旧式 Excel 文档 (HSSFWorkbook)。下面的代码真的很难看(它使用了反射和私有(private)字段)但是完
是否有一种方法可以在 JSP 页面中显示 HSSFWorkbook 对象,而无需在服务器端输出文件?在下面的代码中,我提供了模板文件和 net.sf.jxls.transformer.XLSTrans
我正在打开一个有 3 个选项卡的 Excel 工作表,我将 i 写入这 2 个选项卡取决于在表单中单击给定的三个链接中的哪一个。为了进一步解释,我在“添加”、“取消”、“修改”表单中有 3 个链接,单
我正在使用 HSSFWorkbook,我想知道应该在哪里关闭构建 HSSFWorkbook 对象时使用的 InputStream 对象。 HSSFWorkbook 是否在其构造函数本身中关闭流?或者我
我希望将 HSSFWorkbook 转换为 CSV 文件格式,然后将其写入 ServletOutputStream,其中我将 setContentType 设置为 text/x-csv . 提前致谢。
我想创建一个 HSSFCellSyle 并将其复制到文本满足某些特定条件的单元格。 目前,我使用一种方法在每次单元格满足条件时创建新的 HSSFCellSyle,尽管样式参数是相同的。 此外,由于
我使用poi-3.2-FINAL-20081019.jar。错误: Type mismatch: cannot convert from HSSFWorkbook to Workbook try {
我必须为用户提供下载 Excel 的功能。 这是我的 Controller 代码片段 @RequestMapping(value = "downloadFIReport.do", method = R
您好,我正在尝试使用 HSSFWorkbook 将 Jtable 数据导出到 Excel 工作表中。我得到了表中的所有内容,但没有得到表标题,请任何人提供同样的帮助。 这里是用于获取 Jtable 内
我正在尝试将 EMF 图像插入 HSSFWorkbook(apache poi 3.9)。但是当我打开结果文档时 - 我发现内容错误。我正在寻找问题的解决方案,并在 apache 邮件上找到了这封信:
我对 HSSFWorkbook 对象有疑问。我有一个 XLS 模板,其中第一行是深灰色,接下来的行是浅灰色。在生成报告期间,我想将几个单元格的背景颜色(完美工作)更改为红色/蓝色。但是调用之后:
我是一名优秀的程序员,十分优秀!