`

excel的操作相关的---生成excell

 
阅读更多
/*
 * 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表格数据--------------若依框架里有

    Excel结合Access--合同信息管理系统

    《Excel结合Access构建合同信息管理系统》 在信息技术日益发达的今天,企业对于数据管理的需求日益增强,特别是合同信息管理,其重要性不言而喻。本文将深入探讨如何利用Microsoft Office中的Excel和Access来构建一...

    obsidian-excel-to-markdown-table-0.4.0.rar

    - **使用**:安装完成后,在Obsidian编辑器中,复制Excel表格,然后选择一个合适的位置,按下粘贴键,插件会自动处理,生成Markdown表格。 4. **应用场景** - **数据分析**:对于需要频繁分析数据的知识工作者,...

    html-export-Excel.rar_EXCEL导出_excel_export-excel.js_html excel_j

    4. **生成Excel文件**:使用上述信息,库会生成一个二进制的`.xls`或`.xlsx`文件,这是Excel的标准文件格式。这通常通过创建一个Blob对象并触发浏览器的下载功能来实现。 在`页面数据导出到Excel文件.html`中,你...

    excel版本的X-MR控制图

    软件是通过EXCEL编制的,可以自动生成X-MR控制图,与其他的EXCEL制作的X-MR控制图软件相比,该网站提供的Excel版本的X-MR控制图软件更加专业,更加好用. 不过,对于国内的SPC软件研究与学习的人来说,使用该软件唯一的...

    Excel财务软件-从凭证输入到报表生成.zip

    Excel财务软件-从凭证输入到报表生成

    excel文档操作类-qt实现.rar_QT_QT操作Excel_Qt excel_excel文档操作类-qt实现

    描述中提到的功能是将文本写入Excel文档,这在数据分析、报表生成或自动化任务中非常常见。 Qt操作Excel主要依赖于QAxWidget和QAxObject这两个类,它们提供了ActiveX控件的接口,使Qt能够与Windows上的Office应用...

    Excel财务软件-从凭证输入到报表生成

    Excel财务软件-从凭证输入到报表生成

    Excel-VBA-编程教程(完整版).pdf

    Excel-VBA 编程教程是 Excel 中的编程语言,用于自动化 Excel 操作、创建自定义工具栏和菜单、生成报表和图表等。VBA 语言是基于 Visual Basic 语言的扩展,提供了强大的编程功能。 VBA 语言基础 VBA 语言是基于 ...

    SAP BPC EMP 插件 for Excel EPM Add-in_NET40

    7. **自动化处理**:支持宏和脚本编写,可以实现数据导入、导出、计算和报告生成的自动化,减少手动操作。 8. **性能优化**:.NET 4.0框架的使用提升了插件的运行效率,减少了与服务器的交互延迟。 9. **版本兼容...

    C#操作excel 打开-读取-修改-保存 winform入门操作

    本教程将引导初学者了解如何使用C#来打开、读取、修改和保存Excel文件,这对于数据处理和报表生成至关重要。下面将详细阐述相关知识点。 1. **安装必要的库** 在C#中操作Excel,首先需要引入一个第三方库,如`...

    Npoi生成Excel 97-2003/ (xls)文件

    NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。...NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。

    python读取excel数据excel-manipulate-master.zip

    在Python编程语言中,处理Excel数据是一项常见的任务,特别是在数据分析、报表生成以及数据清洗等领域。本教程将深入探讨如何使用Python有效地读取和操作Excel文件。我们以"excel_manipulate-master.zip"为例,其中...

    ASP.NET使用Excel Application组件生成Excel

    ASP.NET使用Excel的Application组件生成Excel --------------------------------------------------- 开发测试环境: Windows Server 2003 VS.NET 2005 access Microsoft Office 2003 其它说明: 1、ExcelClass类...

    excel VBA - 排列组合生成算法 - 可指定和值 - 可输出文本文件.xls

    excel VBA - 排列组合生成算法 - ,可快速生成指定项目的所有排列组合

    php-excel-reader-2.21.rar_excel_excel_reader2._php excel_php ex

    这个库的核心功能是解析二进制文件流,将Excel工作表的内容转换为PHP数组,使得开发者可以轻松地操作和处理数据。 使用这个库的步骤通常包括以下部分: 1. **安装与配置**:首先,你需要下载并解压 ...

    C# 操作Excel写数据生成图表

    这是我自己写的一个c#操作excel的例子,其中包括数据操作,字体,格式,单元格等操作,还有一个生成柱状图的方法,所有的方法都在ExcelHelper.cs类里,点击Form1窗体里的按钮可以看到各种操作的例子,生成的excel在...

    纯C++方式生成复杂格式的excel文件(linux下可运行)

    使用VC/C++生成excel的方式有很多,但是绝大部分要么是简单的csv文件,要么需要COM并已经安装ms excel,局限性比较大。 我这里提供一种使用C++编写以html脚本的方式生成xls文件的方法。不使用任何非C++标准库,支持...

    c#写入excel文件97-03

    在C#编程环境中,生成Excel文件97-03版本主要涉及到的是对旧版Microsoft Office Interop库的使用,这是微软提供的一个允许.NET应用程序与Office应用程序进行交互的接口。在这个场景下,我们需要创建一个简单的程序,...

Global site tag (gtag.js) - Google Analytics