- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在尝试使用 HSSFWorkbook 将 Jtable 数据导出到 Excel 工作表中。我得到了表中的所有内容,但没有得到表标题,请任何人提供同样的帮助。
这里是用于获取 Jtable 内容的命令。
try {
HSSFWorkbook fWorkbook = new HSSFWorkbook();
HSSFSheet fSheet = fWorkbook.createSheet("new Sheet");
HSSFFont sheetTitleFont = fWorkbook.createFont();
File file = new File("/home/kishan/NetBeansProjects/JavaChecking/src/com/verve/SwingChecking/book.xls");
HSSFCellStyle cellStyle = fWorkbook.createCellStyle();
sheetTitleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//sheetTitleFont.setColor();
TableModel model = jTable1.getModel();
for (int i = 0; i < model.getRowCount(); i++) {
HSSFRow fRow = fSheet.createRow((short) i);
for (int j = 0; j < model.getColumnCount(); j++) {
HSSFCell cell = fRow.createCell((short) j);
cell.setCellValue(model.getValueAt(i, j).toString());
cell.setCellStyle(cellStyle);
}
}
FileOutputStream fileOutputStream;
fileOutputStream = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
fWorkbook.write(bos);
bos.close();
fileOutputStream.close();
}catch(Exception e){
}
for (int i = 0; i < model.getColumnCount(); i++) {
HSSFRow fRow = fSheet.createRow((short) i);
for(int j = 0; j < model.getColumnCount(); j++) {
HSSFCell cell = fRow.createCell((short) j);
cell.setCellValue(model.getValueAt(i, j).toString());
System.out.println(model.getColumnName(j));
}
}
最后一个for循环没有添加表头数据。
我得到了这个 Excel 文件
如何同时获取表头?
最佳答案
这是我根据本线程中的答案实现的 HSSF 工作簿。
我创建了一个类ExcelWriter
,然后创建了一个带有两个参数的方法编写器;要使用的 JTable
和 FileLocation
。
import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JTable;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author oluwajayi
*/
public class ExcelWriter {
public static void Writer (JTable jTable1, String Location) throws FileNotFoundException, IOException {
HSSFWorkbook fWorkbook = new HSSFWorkbook();
HSSFSheet fSheet = fWorkbook.createSheet("new Sheet");
HSSFFont sheetTitleFont = fWorkbook.createFont();
HSSFCellStyle cellStyle = fWorkbook.createCellStyle();
sheetTitleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//sheetTitleFont.setColor();
TableModel model = jTable1.getModel();
//Get Header
TableColumnModel tcm = jTable1.getColumnModel();
HSSFRow hRow = fSheet.createRow((short) 0);
for(int j = 0; j < tcm.getColumnCount(); j++) {
HSSFCell cell = hRow.createCell((short) j);
cell.setCellValue(tcm.getColumn(j).getHeaderValue().toString());
cell.setCellStyle(cellStyle);
}
//Get Other details
for (int i = 0; i < model.getRowCount(); i++) {
HSSFRow fRow = fSheet.createRow((short) i+1);
for (int j = 0; j < model.getColumnCount(); j++) {
HSSFCell cell = fRow.createCell((short) j);
cell.setCellValue(model.getValueAt(i, j).toString());
cell.setCellStyle(cellStyle);
}
}
FileOutputStream fileOutputStream;
fileOutputStream = new FileOutputStream(Location);
try (BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream)) {
fWorkbook.write(bos);
}
fileOutputStream.close();
}
}
关于java - 使用 HSSFWorkbook 将 Jtable 导出到 Excelsheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931113/
所以,有时当我尝试执行此命令时,它会给我一个错误。问题是它非常不一致。在某些情况下,它有效,而在其他情况下,它就不起作用。 这是来自 getCellVal 函数的行。 cellName 是一个字符串,
我正在学习 Python,我想创建一个文件夹来存储我的 Excel 工作表。 使用 create_dir() 我正在创建一个文件夹 def create_dir(directory): if
我正在开发 Java 应用程序以将一些详细信息发送到服务器。我需要在我的应用程序中显示 Excel 工作表。我想知道 Java 中有可用的 jar 文件(或)插件来显示应用程序内的 Excel 工作表
我是 VBA 新手,在 excel 上使用 VBA 并编写一个宏来每行导出一个 xml 文件(参见打印屏幕中的示例)。 不幸的是,我收到以下错误 Run-time error '2147024891
需要解决我的痛苦。以下代码有效,但问题是它将空白空间显示为完整站点。我想知道是否可以“缩小”它? 收缩应该从@列“F”开始 这是代码: Private Sub CommandButton1_Click
我创建了一个包含大约 50 个工作表的 Excel 文件。所有信息都在第一个工作表的摘要中,但有关详细信息,人们可以检查工作表中的源。 我认为最好有一个工作表的内部链接(人们想知道为什么 2016 年
我想追加 Pandas 数据框的内容df到excel表。 这就是我所做的; df.to_excel(excel_writer="target.xlsx", sheet_name="sheet_1")
嗨,我正在使用 BIRT 和新的,我陷入了这种情况,请任何人帮助理解我的假设有什么问题.. 上图是我的报告布局,我试图获得三个主题的总数,因此在计算列 JavaScript 函数的帮助下,我计算了总数
我有一个类,所有测试都写在其中。我在 XL 表中有 3 个值,其中 test1 和 test2 应使用数据表中的第一个值执行,然后使用数据表中的第二个值执行。 但现在使用下面的代码 test1 将使用
我正在尝试使用 Excel 的内容创建文件夹。我能够读取包含正确数据的 Excel 文件,但无法从该数据创建文件夹。 到目前为止我编写的代码: public static void main(Stri
我想在我的 python 脚本中从 excelsheet 中获取特定的单元格值。我遇到了用于读取/写入 Excelsheet 的 xlrd、xlwt、xlutils 模块。 我在第一列的 3 个单元格
我正在使用asp.net的FileUpload控件并上传带有一些数据的Excel。我无法将其保存在某个文件夹中。我可以拥有 Excel 工作表文件流,也可以在将 Excel 作为 Blob 上传后拥有
您好,我正在尝试使用 HSSFWorkbook 将 Jtable 数据导出到 Excel 工作表中。我得到了表中的所有内容,但没有得到表标题,请任何人提供同样的帮助。 这里是用于获取 Jtable 内
您好,我是 postgreSql 的新手。我想导入带有列名称/标题的 excel 工作表,因为 excel 工作表有将近 80-100 列,我无法创建包含如此大量列的表,然后将相同的数据复制到表中。所
下面的代码片段将结果集数据导出到 excel 文件,但它不会创建标题。我用过 HSSFRow rowhead = sheet.createRow((short) 0);创建标题,但创建的 Excel
我有一个 excel 文件,其中包含名为 Data 的工作表。此工作表已包含少量数据。我需要打开这个文件并在其中添加更多数据。我试过搜索这个,但每个人都只是在他们的工作簿中创建新工作表。我需要更新当前
我有两个疑问如下:- 1) 下面是我的代码,用于查找本地计算机中的总磁盘空间、可用和已用磁盘空间。我想将这些值导出到新创建的 Excel 工作表中的三列总磁盘空间、可用磁盘空间和已用磁盘空间下。 但在
我在asp.net应用程序中实现了导出到excel的功能。这里我将数据从 GridView 导出到excel表。我还在 GridView 中应用了分页。 因此,当我将数据从 GridView 导出到
您好,我主要将英语和德语字符保存到当前设置为 utf-8 字符集的 mysql 数据库中。 我假设我应该为这种类型的数据使用 latin1 字符集,对吗? 如果是这样,我如何更改字符集以更正现在保存在
我想在 VB 中比较 2 个 Excel 表格。 我知道如何在 QTP/UFT 中打开这些表格 我知道如何获取所有单元格的范围。 但我不知道比较这两张纸(范围)的有效方法。 如果第二张表中的值与第一张
我是一名优秀的程序员,十分优秀!