`
aa00aa00
  • 浏览: 331454 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

java操作Excel文件

 
阅读更多

JAVA操作Excel:

(1)数据库连接类:

package com.together.nms.dt.data.model.hibernate.db;

import java.sql.*;

public class SheetDataSource {

 private static Connection con;

 @SuppressWarnings("unused")
 private static final String DatabaseName = "uchome";

 private static final String userName = "root";

 private static final String password = "root";

 public SheetDataSource() {
  try {
   Class.forName("com.mysql.jdbc.Driver");
   try {
    con = DriverManager
      .getConnection(
        "jdbc:mysql://localhost:3306/uchome?characterEncoding=gbk",
        userName, password);
   } catch (SQLException e) {
    e.printStackTrace();
   }
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }

 public static ResultSet selectAllDataFromDB() throws SQLException {
  new SheetDataSource();
  Statement stmt = con.createStatement();
  return stmt.executeQuery("select * from shop_right");
 }
}

 

(2)操作Excel文件的核心类:

/**
 *  程序功能:将数据库表导入到Excel中
 *  做成日期:2011-07-01
 */
package com.together.nms.dt.data.model.hibernate.dao;

import java.beans.Statement;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFooter;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.landmass.nms.data.model.common.db.ConnectionManager;
import com.together.nms.dt.data.model.hibernate.db.SheetDataSource;

public class ExportExcel {
 // 连接对象
 Connection conn = null;
 // 执行sql语句对象
 Statement stmtStatement = null;
 // 数据集对象
 ResultSet rsResultSet = null;

 // 初始化构造函数
 public ExportExcel() {
 }

 // 创建表头
 public static final String[] tableHeader = { "权限ID", "SHOP_RLEARNINGSTAGE",
   "SHOP_RLEARNINGSTAGEID", "SHOP_RGRADE", "SHOP_RGRADEID",
   "SHOP_RSUBJECT", "SHOP_RSUBJECTID", "SHOP_REDITION",
   "SHOP_REDITIONID", "SHOP_RDIFFERENCE", "SHOP_RDIFFERENCEID",
   "SHOP_MUPATEEDITIONDATE", "SHOP_MUPATEEDITIONDATEID", "SHOP_BOOKID" };

 // 创建工作薄
 public static HSSFWorkbook demoWorkBook = new HSSFWorkbook();

 // 创建表
 public static HSSFSheet demoSheet = demoWorkBook.createSheet("权限表");

 // 表头的单元格个数目
 public static final short cellNumber = (short) tableHeader.length;

 // 数据库表的列数
 public static final int columNumber = 14;

 /**
  * 创建表头
  */
 public static void createTableHeader() {

  HSSFHeader header = demoSheet.getHeader();
  header.setCenter("权限表");
  HSSFRow headerRow = demoSheet.createRow((short) 0);
  for (int i = 0; i < cellNumber; i++) {
   HSSFCell headerCell = headerRow.createCell((short) i);
   headerCell.setEncoding(HSSFCell.ENCODING_UTF_16);
   headerCell.setCellValue(tableHeader[i]);
  }
 }

 // 创建行
 public static void createTableRow(List<String> cells, short rowIndex) {

  // 创建第rowIndex行
  HSSFRow row = demoSheet.createRow((short) rowIndex);
  for (short i = 0; i < cells.size(); i++) {
   // 创建第i个单元格
   HSSFCell cell = row.createCell((short) i);
   cell.setEncoding(HSSFCell.ENCODING_UTF_16);
   cell.setCellValue(cells.get(i));
  }
 }

 // 创建整个Excel表格
 @SuppressWarnings("unused")
 public static void createExcelSheeet() throws SQLException {

  createTableHeader(); // 创建表头
  ConnectionManager conn = new ConnectionManager();
  ResultSet rs = SheetDataSource.selectAllDataFromDB(); // 取得数据库连接
  int rowIndex = 1;
  while (rs.next()) {
   List<String> list = new ArrayList<String>();
   for (int i = 1; i <= columNumber; i++) {
    list.add(rs.getString(i));
   }
   createTableRow(list, (short) rowIndex);
   rowIndex++;
  }
 }

 // 导出表格
 public void exportExcel(HSSFSheet sheet, OutputStream os)
   throws IOException {
  sheet.setGridsPrinted(true);
  HSSFFooter footer = sheet.getFooter();
  footer.setRight("Page " + HSSFFooter.page() + " of "
    + HSSFFooter.numPages());
  demoWorkBook.write(os);
 }

 // 测试主函数
 @SuppressWarnings("static-access")
 public static void main(String[] args) {
  // 定义excel名称
  String fileName = "D:\\shop_right.xls";
  // 文件输出流
  FileOutputStream fos = null;
  try {
   ExportExcel pd = new ExportExcel();
   pd.createExcelSheeet();
   fos = new FileOutputStream(fileName);
   pd.exportExcel(demoSheet, fos);
   JOptionPane.showMessageDialog(null, "EXCEL表格已成功导出到 : " + fileName);
  } catch (Exception e) {
   JOptionPane.showMessageDialog(null, "EXCEL表格导出出错,错误信息 :" + e
     + "\n错误原因可能是表格已经打开。");
   e.printStackTrace();
  } finally {
   try {
    fos.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
 }
}

这里使用的是Apathe的poi对excel进行操作.

分享到:
评论

相关推荐

    利用JAVA操作EXCEL文件.pdf

    ### 利用JAVA操作EXCEL文件的关键知识点 #### 一、JAVA EXCEL API 简介 - **项目背景**:随着Web应用的发展,越来越多的应用场景需要通过Web端操作Excel文件,而传统的CSV文件虽然可以被Excel打开,但无法实现对...

    利用java操作Excel文件

    "Java操作Excel文件" Java操作Excel文件是指使用Java语言来读取和写入Excel文件的内容。下面是关于Java操作Excel文件的知识点总结: 一、读取Excel文件内容 在Java中,读取Excel文件内容可以使用jxl.jar这个开源...

    JAVA操作EXCEL文件

    ### JAVA操作EXCEL文件知识点详解 #### 一、JAVAEXCELAPI简介 JAVAEXCELAPI是一个开源项目,专为Java开发者设计,旨在帮助他们轻松地读取、创建和更新Excel文件。这一API允许非Windows环境下的纯Java应用程序也能...

    java操作excel文件

    Java 操作 Excel 文件是常见的数据处理任务,Apache POI 是一个强大的开源库,它提供了 Java 开发者操作 Microsoft Office 格式文件的能力,包括 Excel。在这个示例中,我们主要探讨如何使用 Apache POI 来创建一个...

    利用JAVA操作EXCEL文件

    以上就是关于利用Java操作Excel文件的一些核心知识点,包括创建、读取、更新和格式化Excel数据,以及使用不同的库和处理大文件的策略。在实际开发中,根据项目需求选择合适的库,并结合错误处理和性能优化,可以高效...

    利用 JAVA 操作 EXCEL 文件

    ### 利用JAVA操作EXCEL文件 #### 一、引言 随着信息技术的发展,特别是Web应用的普及,越来越多的企业和个人需要处理Excel文件。虽然对于Windows用户来说,使用Microsoft Office中的Excel进行日常的数据处理非常...

    JAVA操作Excel文件+核心代码.docx

    JAVA操作Excel文件核心代码POI VERSION 3.0.2 Final 标题解释 本文的标题"JAVA操作Excel文件+核心代码",指的是使用JAVA语言操作Excel文件的核心代码,主要使用 Apache POI 库来实现Excel文件的操作。 描述解释 ...

    java操作excel文件实力

    Java操作Excel文件是一种常见的数据处理任务,特别是在大数据分析、报表生成和数据导入导出场景中。JXL API(Java Excel API)是Java平台上的一个开源库,专门用于处理Microsoft Excel文件,支持读取、写入以及修改...

    java 操作 excel 文件的 jar 包 + commons-io.jar

    Java 操作 Excel 文件是开发过程中常见的一项任务,尤其是在数据处理和报表生成的场景下。这里我们关注的是两个关键的 Java 库:jxl.jar 和 commons-io-2.1.jar。这两个库提供了对 Microsoft Excel 文件的强大支持,...

    JXL(Java操作Excel文件Oracle数据库)

    综上所述,"JXL(Java操作Excel文件Oracle数据库)"是一个关于Java编程如何借助JXL库处理Excel文件并与Oracle数据库进行数据交换的主题。这个过程涵盖了文件I/O、数据库连接、JDBC操作以及数据处理等多个方面,对于...

    java操作excel文件jxl.jar文件的源码,及例子

    Java操作Excel文件是常见的数据处理任务,特别是在大数据分析、报表生成和数据导入导出场景中。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Microsoft Excel文件(.xls格式)。在这个场景中,我们...

    java 对excel文件操作

    在Java编程环境中,处理Excel文件是一项常见的任务,...以上就是关于Java操作Excel文件的基本知识点,涵盖读取、写入以及工作表管理等内容。实际开发中,还需要根据具体需求调整和优化代码,如错误处理、性能优化等。

Global site tag (gtag.js) - Google Analytics