/*
* Decompiled with CFR 0_101.
*
* Could not load the following classes:
* org.apache.poi.hssf.usermodel.HSSFWorkbook
* org.apache.poi.poifs.filesystem.POIFSFileSystem
* org.apache.poi.ss.usermodel.Cell
* org.apache.poi.ss.usermodel.CellStyle
* org.apache.poi.ss.usermodel.DataFormat
* org.apache.poi.ss.usermodel.Row
* org.apache.poi.ss.usermodel.Sheet
* org.apache.poi.ss.usermodel.Workbook
*/
package com.enation.framework.util;
import com.enation.framework.util.StringUtil;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
// 直接在上班项目中导出 没测试
public class ExcelUtil {
private Workbook wb = new HSSFWorkbook();
private POIFSFileSystem fs = null;
public void openModal(InputStream in) {
try {
this.fs = new POIFSFileSystem(in);
this.wb = new HSSFWorkbook(this.fs);
}
catch (IOException e) {
e.printStackTrace();
}
}
public boolean openModal(String modlePath) {
Object In = null;
Object File_in = null;
try {
this.fs = new POIFSFileSystem((InputStream)new FileInputStream(modlePath));
this.wb = new HSSFWorkbook(this.fs);
return true;
}
catch (IOException e) {
e.printStackTrace(System.err);
return false;
}
}
public void writeToFile(String targetFile) {
FileOutputStream fileOut = null;
try {
fileOut = new FileOutputStream(targetFile);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
this.wb.write((OutputStream)fileOut);
}
catch (IOException e1) {
e1.printStackTrace();
}
finally {
this.wb = null;
try {
fileOut.flush();
fileOut.close();
}
catch (IOException e2) {
e2.printStackTrace();
}
}
}
public void setCellMoney(int numRow, int numCol) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
DataFormat format = this.wb.createDataFormat();
Row row = aSheet.getRow((short)numRow);
Cell csCell = row.getCell((short)numCol);
CellStyle style = this.wb.createCellStyle();
style.setDataFormat(format.getFormat("0.00"));
style.setBorderBottom((short)1);
style.setBottomBorderColor((short)8);
style.setBorderLeft((short)1);
style.setLeftBorderColor((short)8);
style.setBorderRight((short)1);
style.setRightBorderColor((short)8);
style.setBorderTop((short)1);
style.setTopBorderColor((short)8);
csCell.setCellStyle(style);
}
}
catch (Exception e) {
// empty catch block
}
}
public void writeStringToCell(int numRow, int numCol, String strval) {
try {
String string = strval = StringUtil.isEmpty(strval) ? "" : strval;
if (this.wb.getSheetAt(0) != null) {
Cell csCell;
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.getRow((int)((short)numRow));
if (row == null) {
row = aSheet.createRow(numRow);
}
if ((csCell = row.getCell((int)((short)numCol))) == null) {
csCell = row.createCell(numCol);
}
csCell.setCellValue(strval);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public void insertStringToCell(int numRow, int numCol, String strval) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.createRow((int)((short)numRow));
Cell csCell = row.createCell((int)((short)numCol));
csCell.setCellValue(strval);
}
}
catch (Exception e) {
// empty catch block
}
}
public void writeFormula(int numRow, int numCol, String formula) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.getRow((int)((short)numRow));
Cell csCell = row.getCell((int)((short)numCol));
csCell.setCellFormula(formula);
}
}
catch (Exception e) {
// empty catch block
}
}
public void insertFormula(int numRow, int numCol, String formula) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.createRow((int)((short)numRow));
Cell csCell = row.createCell((int)((short)numCol));
csCell.setCellFormula(formula);
}
}
catch (Exception e) {
// empty catch block
}
}
public void writeNumToCell(int numRow, int numCol, Double num) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.getRow((int)((short)numRow));
Cell csCell = row.getCell((int)((short)numCol));
csCell.setCellValue(num.doubleValue());
}
}
catch (Exception e) {
// empty catch block
}
}
public void insertNumToCell(int numRow, int numCol, Double num) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.createRow((int)((short)numRow));
Cell csCell = row.createCell((int)((short)numCol));
csCell.setCellValue(num.doubleValue());
}
}
catch (Exception e) {
// empty catch block
}
}
public void replaceDataToCell(int numRow, int numCol, String temstr, String strval) {
try {
if (this.wb.getSheetAt(0) != null) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.getRow((int)((short)numRow));
Cell csCell = row.getCell((int)((short)numCol));
String temp = "";
temp = csCell.getStringCellValue();
temp = temp.replaceAll(temstr, strval);
csCell.setCellValue(temp);
}
}
catch (Exception e) {
// empty catch block
}
}
public void insertDataToExcel(int numRow, Object[] object) {
try {
if (null != this.wb.getSheetAt(0)) {
Sheet aSheet = this.wb.getSheetAt(0);
Row row = aSheet.getRow((int)((short)numRow));
if (row == null) {
row = aSheet.createRow((int)((short)numRow));
}
for (int i = 0; i < object.length; ++i) {
Cell csCell = row.createCell((short)i);
CellStyle style = this.wb.createCellStyle();
style.setBorderBottom((short)1);
style.setBottomBorderColor((short)8);
style.setBorderLeft((short)1);
style.setLeftBorderColor((short)8);
style.setBorderRight((short)1);
style.setRightBorderColor((short)8);
style.setBorderTop((short)1);
style.setTopBorderColor((short)8);
csCell.setCellStyle(style);
if (object[i] != null)
csCell.setCellValue(object[i].toString());
else
csCell.setCellValue("0");
}
}
}
catch (Exception e) {
// empty catch block
}
}
public int getExcelLastCellNum() {
int count = 0;
if (null != this.wb.getSheetAt(0)) {
Sheet aSheet = this.wb.getSheetAt(0);
Row aRow = aSheet.getRow(0);
count = aRow.getLastCellNum();
}
return count;
}
public String getOutputPath(String str) {
String temp = "";
temp = str.lastIndexOf("/") != -1 ? str.substring(0, str.lastIndexOf("/")) : (str.lastIndexOf("\\") != -1 ? str.substring(0, str.lastIndexOf("\\")) : (str.lastIndexOf("\\\\") != -1 ? str.substring(0, str.lastIndexOf("\\\\")) : str));
return temp;
}
public Row getRow(int sheetIndex, int rowIndex) {
Sheet sheet = this.wb.getSheetAt(sheetIndex);
return sheet.getRow(rowIndex);
}
public Sheet getSheet(int sheetIndex) {
return this.wb.getSheetAt(sheetIndex);
}
public Sheet getSheet(String sheetName) {
return this.wb.getSheet(sheetName);
}
public static Object getCellValue(Cell cell) {
if (cell == null) {
return null;
}
int celltype = cell.getCellType();
if (celltype == 0) {
return cell.getNumericCellValue();
}
if (celltype == 1) {
String value = cell.getStringCellValue();
if ("null".equals(value)) {
value = "";
}
if (!StringUtil.isEmpty(value)) {
value = value.replaceAll("\u00a0", "");
value = value.replaceAll("\u00a0 ", "");
}
return value;
}
if (celltype == 2) {
String value = cell.getStringCellValue();
if ("null".equals(value)) {
value = "";
}
return value;
}
if (celltype == 3) {
return "";
}
if (celltype == 5) {
return "";
}
return "";
}
// 测试方法
public static void main(String[] args) {
int i = 1;
for (orderMap order : orderList) {
excelUtil.writeStringToCell(i, 0, order.getSame());
i++;
}
}
分享到:
相关推荐
导入根据表头自动获取excel表格数据--------------若依框架里有
《Excel结合Access构建合同信息管理系统》 在信息技术日益发达的今天,企业对于数据管理的需求日益增强,特别是合同信息管理,其重要性不言而喻。本文将深入探讨如何利用Microsoft Office中的Excel和Access来构建一...
- **使用**:安装完成后,在Obsidian编辑器中,复制Excel表格,然后选择一个合适的位置,按下粘贴键,插件会自动处理,生成Markdown表格。 4. **应用场景** - **数据分析**:对于需要频繁分析数据的知识工作者,...
4. **生成Excel文件**:使用上述信息,库会生成一个二进制的`.xls`或`.xlsx`文件,这是Excel的标准文件格式。这通常通过创建一个Blob对象并触发浏览器的下载功能来实现。 在`页面数据导出到Excel文件.html`中,你...
软件是通过EXCEL编制的,可以自动生成X-MR控制图,与其他的EXCEL制作的X-MR控制图软件相比,该网站提供的Excel版本的X-MR控制图软件更加专业,更加好用. 不过,对于国内的SPC软件研究与学习的人来说,使用该软件唯一的...
Excel财务软件-从凭证输入到报表生成
描述中提到的功能是将文本写入Excel文档,这在数据分析、报表生成或自动化任务中非常常见。 Qt操作Excel主要依赖于QAxWidget和QAxObject这两个类,它们提供了ActiveX控件的接口,使Qt能够与Windows上的Office应用...
Excel财务软件-从凭证输入到报表生成
Excel-VBA 编程教程是 Excel 中的编程语言,用于自动化 Excel 操作、创建自定义工具栏和菜单、生成报表和图表等。VBA 语言是基于 Visual Basic 语言的扩展,提供了强大的编程功能。 VBA 语言基础 VBA 语言是基于 ...
7. **自动化处理**:支持宏和脚本编写,可以实现数据导入、导出、计算和报告生成的自动化,减少手动操作。 8. **性能优化**:.NET 4.0框架的使用提升了插件的运行效率,减少了与服务器的交互延迟。 9. **版本兼容...
本教程将引导初学者了解如何使用C#来打开、读取、修改和保存Excel文件,这对于数据处理和报表生成至关重要。下面将详细阐述相关知识点。 1. **安装必要的库** 在C#中操作Excel,首先需要引入一个第三方库,如`...
NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。...NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。
在Python编程语言中,处理Excel数据是一项常见的任务,特别是在数据分析、报表生成以及数据清洗等领域。本教程将深入探讨如何使用Python有效地读取和操作Excel文件。我们以"excel_manipulate-master.zip"为例,其中...
ASP.NET使用Excel的Application组件生成Excel --------------------------------------------------- 开发测试环境: Windows Server 2003 VS.NET 2005 access Microsoft Office 2003 其它说明: 1、ExcelClass类...
excel VBA - 排列组合生成算法 - ,可快速生成指定项目的所有排列组合
这个库的核心功能是解析二进制文件流,将Excel工作表的内容转换为PHP数组,使得开发者可以轻松地操作和处理数据。 使用这个库的步骤通常包括以下部分: 1. **安装与配置**:首先,你需要下载并解压 ...
这是我自己写的一个c#操作excel的例子,其中包括数据操作,字体,格式,单元格等操作,还有一个生成柱状图的方法,所有的方法都在ExcelHelper.cs类里,点击Form1窗体里的按钮可以看到各种操作的例子,生成的excel在...
使用VC/C++生成excel的方式有很多,但是绝大部分要么是简单的csv文件,要么需要COM并已经安装ms excel,局限性比较大。 我这里提供一种使用C++编写以html脚本的方式生成xls文件的方法。不使用任何非C++标准库,支持...
在C#编程环境中,生成Excel文件97-03版本主要涉及到的是对旧版Microsoft Office Interop库的使用,这是微软提供的一个允许.NET应用程序与Office应用程序进行交互的接口。在这个场景下,我们需要创建一个简单的程序,...