多个Excel要把他们合并到一个Excel里面,涉及是Excel的读取和Sheet的合并。
package com.redbaby.test;
package com.redbaby.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.NumberFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class b {
public static void main(String[] args) throws FileNotFoundException{
String[] file = new String[]{"C:\\sample.xls","C:\\sample2.xls"};
FileInputStream in = null;
FileOutputStream out = new FileOutputStream("C:\\sample3.xls");
HSSFWorkbook workbook = null;
HSSFWorkbook wb = new HSSFWorkbook();
try {
for(int k = 0; k<file.length;k++){
in = new FileInputStream(new File(file[k]));
workbook = new HSSFWorkbook(new POIFSFileSystem(in));
// 根据读出的Excel,创建Sheet
HSSFSheet sheet = wb.createSheet();
//读取sheet
HSSFSheet childSheet1 = workbook.getSheetAt(0);
for(int i = 0;i<=childSheet1.getLastRowNum();i++){
HSSFRow r = sheet.createRow(i);
HSSFRow row = childSheet1.getRow(i);
// 判断是否为空,因为可能出现空行的情况
if(null!=row){
//循环读取列
for(int j = 0; j<row.getLastCellNum();j++){
// 根据读取的列,创建列
HSSFCell c = r.createCell((short) j);
HSSFCell cell = row.getCell(j);
// 将值赋给单元格
String value = "";
if(null!=cell){
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
// 如果是Date类型则 ,获取该Cell的Date值
value = HSSFDateUtil.getJavaDate(
cell.getNumericCellValue())
.toString();
} else {// 纯数字,这里要判断是否为小数的情况,因为整数在写入时会被加上小数点
String t = cell.getNumericCellValue()
+ "";
BigDecimal n = new BigDecimal(cell
.getNumericCellValue());
// 判断是否有小数点
if (t.indexOf(".") < 0) {
value = n.intValue() + "";
} else {
// 数字格式化对象
NumberFormat nf = NumberFormat
.getInstance();
// 小数点最大两位
nf.setMaximumFractionDigits(2);
// 执行格式化
value = nf.format(n.doubleValue());
}
}
break;
case HSSFCell.CELL_TYPE_STRING: // 字符串型
value = cell.getRichStringCellValue()
.toString();
break;
case HSSFCell.CELL_TYPE_FORMULA:// 公式型
// 读公式计算值
value = String.valueOf(cell
.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN:// 布尔
value = " " + cell.getBooleanCellValue();
break;
/* 此行表示该单元格值为空 */
case HSSFCell.CELL_TYPE_BLANK: // 空值
value = " ";
break;
case HSSFCell.CELL_TYPE_ERROR: // 故障
value = " ";
break;
default:
value = cell.getRichStringCellValue().toString();
}
}else{
value = "";
}
c.setCellValue(value);
}
}
}
wb.write(out);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
在IT行业中,尤其是在数据处理和自动化任务中,有时我们需要将多个Excel文件合并成一个单一的文件,以便于管理和分析大量数据。在这个场景下,使用编程语言如C#可以实现这样的功能。本文将深入探讨如何使用C#在...
本篇将详细讲解如何将多个用Tab键分隔的TXT文件合并到一个Excel工作表中。 首先,我们要明白TXT文件是一种纯文本格式,它不包含任何格式信息,只存储文字和由特定字符(如Tab或逗号)分隔的数据。在本例中,每个TXT...
### 多个Excel合并到一个Excel内的方法及VBA代码详解 #### 一、概述 在日常工作和学习中,我们经常需要将多个Excel文件合并到一个Excel文件中,以方便进行数据分析、汇总等工作。手动复制粘贴的方式不仅耗时耗力,...
一个可以将多个EXCEL文件合并到同一个文件EXCEL的宏插件
- 合并Excel表格主要是通过读取多个工作簿中的数据,然后将其整合到一个新的工作簿或工作表中。关键在于保持数据的一致性和完整性,确保在合并过程中不丢失任何信息。 2. **工具的使用步骤**: - 首先,用户需要...
应用场景:使用pandas把多个相同结构的Excel文件合并为一个。 原始数据: 相关代码: import os import pandas as pd # 将文件读取出来放一个列表里面 pwd = 'test' # 获取文件目录 # 新建列表,存放文件名 ...
为了提高效率和便于管理,我们可以使用Python的库如openpyxl将这些文件合并到一个单一的工作簿中。openpyxl是一个强大的库,用于读取和写入Excel的xlsx/xlsm/xltx/xltm格式文件。下面我们将详细介绍如何利用openpyxl...
标题中的"php多个excel合并工具"表明我们要讨论的是一个使用PHP编程语言编写的程序,该程序能够处理多个Excel文件的合并操作。下面将详细阐述相关知识点。 1. **PHP与Excel交互**: PHP通过一些库,如PHPExcel或...
本教程将深入探讨如何利用Apache POI库来合并多个Excel工作表,这对于处理大量数据或者整合来自不同来源的数据时非常有用。 首先,我们需要了解Apache POI的基本概念。POI提供了HSSF(Horrible Spreadsheet Format...
在工作中,我们经常需要合并多个Excel文件,以便更好地分析和处理数据。使用Access可以巧妙地合并多个Excel文件,使得数据处理更加方便快捷。本文将介绍使用Access合并多个Excel文件的步骤和技术。 一、创建对Excel...
通过以上介绍,我们可以了解到如何使用VBA宏来实现多个Excel文件合并到一个文件的不同Sheet中的过程。这对于提高工作效率和数据处理能力具有重要意义。希望本文能够帮助您更好地理解和运用这些技术点。
标题中的“将多个excel文件合并为一个excel.docx”实际上是指将多个Excel文件合并到一个单一的Excel文件中,而不是创建一个Word文档。这个过程可以通过编写VBA(Visual Basic for Applications)宏来实现,这是一种...
这个宏通过用户选择的多个Excel文件,将它们的工作表逐个移动到一个新的工作簿中。 #### 知识点三:理解VBA宏结构 在上述宏中,我们可以看到VBA使用了一些基本的控制结构,如`For`循环、`If`条件语句,以及对象...
"多个EXCEL合并工具"就是为此目的设计的实用软件,它可以极大地提高工作效率,简化繁琐的手动操作。这个工具提供了行合并、列合并以及单元格合并等多种功能,满足了不同场景下的数据整合需求。 首先,行合并功能是...
在数据分析和处理中,有时我们需要将多个Excel文件合并到一个工作簿中,以便于集中管理和分析数据。在本文中,我们将深入探讨如何实现这个目标,主要聚焦于编程方法,特别是使用Python的pandas库来完成这项任务。...
通过以上步骤,你就可以成功地将多个Excel中的BOM表汇总到一个表中,实现数据的集中管理和分析。这个过程不仅可以提高工作效率,也有助于避免因数据分散而产生的错误。对于大型制造企业而言,有效的BOM管理是优化...
使用批处理方式将多个EXCEL工作蒲文件合并成一个总表 在D盘创建一个 abc123 的文件夹把 bat文件和Excel文件一起放到这个文件夹 运行一下bat文件就可以 会生成一份ALL开头的excel文件
在excel中打开宏编辑器,导入这个文件,执行,然后选择多个excel文件,即可将多个excel文件合并为一个文件
怎么把100多个EXCEL文件合并成一个?_EXCEL_电脑软件_编程_天涯问答_天涯社区 http://wenda.tianya.cn/question/3604d101e5cb8330