操作 Excel 示例源码


import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

/**
 * 功能描述: 操作Excel。该源码没有经过验证,请慎用<p/>
 *
 * @Author:admin
 * @Date:Feb 6, 2009
 * @Time:9:56:12 AM
 * @Version 1.0
 *
 *
 */
public class OperateExcel {
 public void CreateXLS() throws Exception {

  WritableWorkbook book = null;
  try {

   // 创建文件
   book = Workbook.createWorkbook(new File("测试.xls"));

   // 生成名为“第一页”的工作表,参数0表示这是第一页

   WritableSheet sheet = book.createSheet("第一页", 0);

   // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0) 以及单元格内容为test

   Label label = new Label(0, 0, "test");

   // 将定义好的单元格添加到工作表中
   sheet.addCell(label);

   // 写入数据并关闭文件
   jxl.write.Number number = new jxl.write.Number(1, 0, 789.123);

   sheet.addCell(number);
   book.write();

  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   book.close();
  }
 }

 @SuppressWarnings("deprecation")
 public void createExcel(HttpServletRequest request,
   HttpServletResponse response) throws Exception {
  Connection conn = null;
  ResultSet rs = null;
  String url = "jdbc:mysql://localhost:3306/studentinfo";
  String userName = "root";
  String password = "";
  String sql = "select * from tablename";
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn = (Connection) DriverManager.getConnection(url, userName,
     password);
   Statement stmt = conn.createStatement();
   rs = stmt.executeQuery(sql);

   // 新建Excel文件
   String filePath = request.getRealPath("aaa.xls");
   File myFilePath = new File(filePath);
   if (!myFilePath.exists())
    myFilePath.createNewFile();
   FileWriter resultFile = new FileWriter(myFilePath);
   // PrintWriter myFile = new PrintWriter(resultFile);
   resultFile.close();

   // 用JXL向新建的文件中添加内容
   OutputStream outf = new FileOutputStream(filePath);
   jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(outf);
   jxl.write.WritableSheet ws = wwb.createSheet("sheettest", 0);

   int i = 0;
   int j = 0;

   for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {
    ws.addCell(new Label(k, 0, rs.getMetaData()
      .getColumnName(k + 1)));
   }

   while (rs.next()) {
    System.out.println(rs.getMetaData().getColumnCount());
    for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {
     ws.addCell(new Label(k, j + i + 1, rs.getString(k + 1)));
    }

    i++;
   }
   wwb.write();
   wwb.close();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   rs.close();
   conn.close();
  }
  response.sendRedirect("aaa.xls");
 }

 public void ReadXLS() {
  Workbook book = null;
  try {
   // 得到文件
   book = Workbook.getWorkbook(new File("测试.xls"));

   // 获得第一个工作表对象
   Sheet sheet = book.getSheet(0);

   // 得到第一列第一行的单元格
   Cell cell1 = sheet.getCell(0, 0);

   // 得到第一列第一行的单元格的内容
   String result = cell1.getContents();

   System.out.println(result);

  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   book.close();
  }
 }

 public void UpdateXLS() throws Exception {
  Workbook wb = null;
  WritableWorkbook book = null;
  try {
   // Excel获得文件
   wb = Workbook.getWorkbook(new File("测试.xls"));

   // 打开一个文件的副本,并且指定数据写回到原文件
   book = Workbook.createWorkbook(new File("测试.xls"), wb);

   // 添加一个工作表
   WritableSheet sheet = book.createSheet("第二页", 1);

   sheet.addCell(new Label(0, 0, "第二页的测试数据"));

  } catch (Exception e) {
   System.out.println(e);
  } finally {
   book.write();
   book.close();
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP+excel通用成绩查询系统是个极为简单却非常通用、非常方便的成绩查询系统,通用于几乎所有Excel单二维数据表查询。只需修改 查询条件和顶部、底部文字(非常简单),即可用于几乎所有工资等查询,成绩查询,物业查询,收电费查询,录取查询,证书查询等场景哦。 使用的是PHPexcel查询Excel测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 sae直接上传代码包即可和演示一样的效果,让你可以免费实现查询系统 (免费代码+免费二级域名+免费sae空间) 其他linux PHP环境,如果乱码请用utf-8字符集上传。 1.非常通用。无论你Excel/Wps二维表几列,列标题各是什么,直接支持。其他格式导出为csv或excel后同样支持。查询结果几乎都由你Excel二维表控制,平时只需维护好你的Excel表,而操作Excel,几乎每台电脑都有软件可以打开编辑,几乎谁都会操作。 2.使用简单。只需修改查询条件和标题,然后把你平时输入的excel二维表进行:复制,粘贴,更名,上传,特别方便,发布一次成绩查询,半分钟内可以解决。修改查询查询条件等,记事本打开编辑几个字即可,自定义是否使用验证码。 3.市场广泛。可以广泛用于一次性出来的改动很少的成绩查询,录取查询,证书查询系统(每个学校,教育机构,事业单位考试等都可以用到),工资查询系统(每个企业,学校,所有单位都可能用到),水电费查询系统等(小区,物业公司,大学寝室等),录取,证书查询系统。 4.使用灵活:支持多次查询,比如工资查询往往多月查询,那么你只需一个月放一个数据库,下拉的查询选项自动获取(选项即文件名);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果查询条件不一致,将代码文件复制一份后用不同文件夹命名,然后修改查询条件即可使用。
PHP+Excel多用途成绩查询系统1项通用版【无需后台】 V 5.5_PM1X首次发布 PHP+Excel,使用的是PHPexcel查询Excel测试可用,可能速度偏慢(千条数据无影响) 适合手机、平板、电脑访问的页面,体积极小省流量,希望大家喜欢。。 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 这是个极为简单却非常通用、非常方便的成绩查询系统,通用于几乎所有Excel单二维数据表查询。只需修改 查询条件和顶部、底部文字(非常简单),即可用于几乎所有工资等查询,成绩查询,物业查询,收电费查询,录取查询,证书查询等场景哦。 1.非常通用。无论你Excel/Wps二维表几列,列标题各是什么,直接支持。其他格式导出为csv或excel后同样支持。查询结果几乎都由你Excel二维表控制,平时只需维护好你的Excel表,而操作Excel,几乎每台电脑都有软件可以打开编辑,几乎谁都会操作。 2.使用简单。只需修改查询条件和标题,然后把你平时输入的excel二维表进行:复制,粘贴,更名,上传,特别方便,发布一次成绩查询,半分钟内可以解决。修改查询查询条件等,记事本打开编辑几个字即可,自定义是否使用验证码。 3.市场广泛。可以广泛用于一次性出来的改动很少的成绩查询,录取查询,证书查询系统(每个学校,教育机构,事业单位考试等都可以用到),工资查询系统(每个企业,学校,所有单位都可能用到),水电费查询系统等(小区,物业公司,大学寝室等),录取,证书查询系统。 4.使用灵活:支持多次查询,比如工资查询往往多月查询,那么你只需一个月放一个数据库,下拉的查询选项自动获取(选项即文件名);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果查询条件不一致,将代码文件复制一份后用不同文件夹命名,然后修改查询条件即可使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值