java - 从 .xlsx 读取特定工作表并写入另一个 .xlsx
问题描述
我有一个场景,我必须从 .xlsx(Excel) 中读取第二张表,并在另一个 .xlsx(Excel) 中写入相同的数据。
根据我的谷歌研究,我找到了以下答案,但这不适合我的要求。请给我任何建议,在此先感谢。
public class WriteExcelDemo
{
public static void main(String[] args)
{
//Blank workbook
XSSFWorkbook workbook = new XSSFWorkbook();
//Create a blank sheet
XSSFSheet sheet = workbook.createSheet("Employee Data");
//This data needs to be written (Object[])
Map<String, Object[]> data = new TreeMap<String, Object[]>();
data.put("1", new Object[] {"ID", "NAME", "LASTNAME"});
data.put("2", new Object[] {1, "Amit", "Shukla"});
data.put("3", new Object[] {2, "Lokesh", "Gupta"});
data.put("4", new Object[] {3, "John", "Adwards"});
data.put("5", new Object[] {4, "Brian", "Schultz"});
//Iterate over data and write to sheet
Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset)
{
Row row = sheet.createRow(rownum++);
Object [] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr)
{
Cell cell = row.createCell(cellnum++);
if(obj instanceof String)
cell.setCellValue((String)obj);
else if(obj instanceof Integer)
cell.setCellValue((Integer)obj);
}
}
try
{
//Write the workbook in file system
FileOutputStream out = new FileOutputStream(new File("howtodoinjava_demo.xlsx"));
workbook.write(out);
out.close();
System.out.println("howtodoinjava_demo.xlsx written successfully on disk.");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
解决方案
推荐阅读
- scala - 为什么这个 Spark 代码在本地模式下工作,而不在集群模式下工作?
- html - 如何获得带有标记图像的地图封面背景图像并正确调整大小?
- c# - 使用左连接时使用实体框架错误生成的 SQL 代码
- angular - 角度 viewportScroller 捕获以不兼容类型结束的事件
- macos - 当我用 xelatex 编译时,我得到一个错误。字体 Times New Roman 的问题
- php - 缺少扩展类时无法捕获错误
- javascript - 等待几个异步函数,但在一个完成后继续
- graphql - 如何在 Nest.js 代码中首先使用 graphql-type-json 标量
- swift - 谷歌标记聚类。如何将此库添加到项目中?迅速
- javascript - 如果当前测试失败,如何检查 mocha (tdd) 的拆卸方法?