关于FastExcel的问题

wangxiaoyi2 2010-04-06 02:39:05
据说FastExcel操作excel很快,所以想做这么一个实现。具体要求是这样的:
先写好一个Excel模板,模板中有一些变量。然后用FastExcel写一个方法,将数据写入。
模板类似如下:
title
制表人:lister 统计日期: date
序号 姓名 性别 手机
index name sex mobile

其中:title,lister,date 变量是从HasMap传过来,index,name, sex ,mobile是数据库中的数据。
方法写了一部分,写不下去了,麻烦各位帮忙!

package com.fastExcel;

import java.io.*;
import java.util.HashMap;
import java.util.Set;

import edu.npu.fastexcel.FastExcel;
import edu.npu.fastexcel.Sheet;
import edu.npu.fastexcel.Workbook;

public class ExportExcelByTemplateUseFastExcel
{
public static void createExcel(String inputFile, String outputFile, String indexFieldName, String dataStartFlag,
Object oData, HashMap hm_var) throws Exception
{
File inFile = new File(inputFile);
File outFile = new File(outputFile);

Workbook outwb = FastExcel.createWriteableWorkbook(outFile);
outwb.open();

Workbook inwb = FastExcel.createReadableWorkbook(inFile);
inwb.open();
Sheet insheet = inwb.getSheet(0);
// 取得EXCEL文件的总行数
int rowCount = insheet.getLastRow() - insheet.getFirstRow();
// 取得Excel文件的总列数
int columnCount = insheet.getLastColumn() - insheet.getFirstColumn();
// 取得列名数组
String[] columFiledNames = new String[columnCount];

String sheetName = (String) hm_var.get("sheetName");
if(sheetName == null || sheetName.trim().equals("")) sheetName = "sheet1";
Sheet outsheet = outwb.addStreamSheet(sheetName);
int flagRow = 0;
/**
* 遍历工作表,替换模板中的变量
* 处理方法:
* 第一步:先把数据区以外的变量替换
* 第二步:替换数据区的变量
*/

}

public static void main(String args[]){

//模板中的变量
HashMap hs = new HashMap();
hs.put("title", "学生基本信息");
hs.put("sheetName", "学生基本信息");
hs.put("lister", "张三");
hs.put("date","2010-04-06");


}
}


...全文
218 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧