请问怎把一个表格的内容导入到word或excel啊
我从数据库里查询出的内容以表格形式显示在页面上,
请问如何把它导入到word里呢?
新手,请大家说详细一点,谢谢了
问题点数:0、回复次数:12Top
1 楼boluotianxie(风筝)回复于 2005-06-02 19:22:18 得分 0
还是没人理我,真要哭了:(Top
2 楼sinbade(泉)回复于 2005-06-02 20:50:15 得分 0
我的问题也没有人回答,我也想哭:(
我是用apache的poi操作excel的,具体操作word我没有用过,不知道。
顺便问下我的问题:问个关于apache的poi操作excel的问题,谢谢
大家好,问个问题。
用apache的poi操作excel的时候想给一个字段添加超链接怎么做呢?应为字段太多
了,所以手工添加很浪费时间,有没有办法解决谢谢!
Top
3 楼boluotianxie(风筝)回复于 2005-06-02 21:44:43 得分 0
555555,各位指点一下啊Top
4 楼boluotianxie(风筝)回复于 2005-06-02 21:49:27 得分 0
帮帮忙了Top
5 楼querlang(编程浪子)回复于 2005-06-02 21:49:37 得分 0
最简单的实现(我们也是这么给客户作的,呵呵)
<script language=vbscript>
function CopyMeWord()
dim app
set app = createobject ("Word.Application")
app.Visible = true
set x = app.documents.add()
parent.moonpiazza.document.execCommand ("selectall")
parent.moonpiazza.document.execCommand ("copy")
parent.moonpiazza.document.execCommand ("unselect")
app.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
app.Selection.Paste
app.Application.Visible = True
end function
function CopyMeExcel()
dim objExcelApp
set objExcelApp = createobject ("Excel.Application")
parent.moonpiazza.document.execCommand ("selectall")
parent.moonpiazza.document.execCommand ("copy")
parent.moonpiazza.document.execCommand ("unselect")
Set objExcelBook = objExcelApp.workbooks.add '鏂板妾旀鏂规硶
Set objExcelSheets = objExcelBook.Worksheets
Set objExcelSheet = objExcelBook.Sheets(1)
objExcelSheet.Activate
objExcelSheet.Paste
objExcelApp.Visible = true
objExcelApp.Application.Visible = True
end function
</script>Top
6 楼dlxu(脱离纯粹Coding阶段)回复于 2005-06-03 09:07:50 得分 0
用Apache的POI,如果只要Excel的话,也可以考虑用JXLTop
7 楼sinbade(泉)回复于 2005-06-03 09:14:11 得分 0
那楼主能不能在从数据库读出的时候边写入页面边写入excel呢,或者自己些个分析你的页面的函数,提取这些字段插入就Ok了。我现在做的一个搜集专利项目信息的东西,由于用EndNote导入的时候很多字段没法导入,所以就直接写了分析页面的一个小函数。这个还好说的。
PS:我的问题解决了!希望你的也很快搞定^_^Top
8 楼sublive(一只泡泡)回复于 2005-06-03 10:19:25 得分 0
最简单的办法,在jsp页面的顶部加上<%@ page contentType="application/msword; charset=GBK"%>,这个文件就直接用word打开了。
你可以用word先做一个doc文档,然后另存为web页。再打开,把其中要显示的动态内容改为java代码,另存为jsp文件,再加上上面那一句。直接在浏览器打开就行了。Top
9 楼libin53(红尘摆渡)回复于 2005-06-03 10:30:29 得分 0
我把从数据库得到的结果集传进去方法(要用到poi包),
String filepath :应用服务器的路径
String[] para :参数
ResultSet rs:结果集
public void toExcel(ResultSet rs, String filepath, String[] para, String ExcelId, String login) {
try {
//获取系统日期做为制日期
Calendar date = java.util.Calendar.getInstance();
String reData = "";
String year = String.valueOf(date.get(Calendar.YEAR));
String m1 = String.valueOf(date.get(Calendar.MONTH));
String d = String.valueOf(date.get(Calendar.DATE));
int month = Integer.parseInt(m1) + 1;
if (month < 10) {
m1 = "0" + String.valueOf(month);
}
int da = Integer.parseInt(d);
if (da < 10) {
d = "0" + String.valueOf(da);
}
reData = year + "-" + m1 + "-" + d;
//获取日期结束
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值
HSSFSheet sheet = workbook.createSheet();
//设置Excel的显示格式
//设置行头
String[] str = new String[8];
str[0] = "制表日期";//"制表日期";
str[1] = reData;//当前日期
str[2] = "";
str[3] = "";
str[4] = "";
str[5] = "";
str[6] = "";
str[7] = "";
String[] str1 = new String[8];
str1[0] = "查询时间";//"保险产品";
str1[1] = para[1];
str1[2] = "";
str1[3] = "";
str1[4] = "";
str1[5] = "";
str1[6] = "制表用户";
str1[7] = login;
//设置行头
String[] str2 = new String[8];
str2[0] = "保险产品";
str2[1] = "航班号";
str2[2] = "工作号";
str2[3] = "保费";
str2[4] = "保额";
str2[5] = "旅客姓名";
str2[6] = "证件号";
str2[7] = "销售日期";
//设置行头
String[] str4 = new String[8];
str4[0] = "";
str4[1] = "";
str4[2] = "";
str4[3] = "历史";
if (ExcelId.equals("DayReportToExcel")) {
str4[3] = "当日";
}
str4[4] = "报表";
str4[5] = "";
str4[6] = "";
str4[7] = "";
HSSFRow row;
HSSFCell cell;
HSSFCellStyle style;
HSSFFont hf;
for (int i = 0; i < 4; i++) {
//在索引0的位置创建行(最顶端的行)
row = sheet.createRow((short) i);
for (int j = 0, a = 0; j < 8; a++, j++) {
//在索引0的位置创建单元格(左上端)(相当于列数)
cell = row.createCell((short) j);
//定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//定义样式
style = workbook.createCellStyle();
//创建工作本的字体
hf = workbook.createFont();
hf.setFontName("楷体_GB2312");
style.setFont(hf);
//设置列的属性
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(style);
//在所创建的单元格填入值
if (i == 0) {
cell.setCellValue(str4[a]);
}
if (i == 1) {
cell.setCellValue(str[a]);
}
if (i == 2) {
cell.setCellValue(str1[a]);
}
if (i == 3) {
cell.setCellValue(str2[a]);
}
}
}
int n = 4, m = 0, s = 0;
// 获取结果集的行数
while (rs.next()) {
row = sheet.createRow((short) n++); //从第5行开始
cell = row.createCell((short) m++); //从第4列开始
//定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//填加保险产品
cell.setCellValue(rs.getString("TYPE"));
//填加航班号
cell = row.createCell((short) m++); //从第5列开始
cell.setCellValue(rs.getString("FLIGHT_No"));
//填加工作号
cell = row.createCell((short) m++); //从第6列开始
cell.setCellValue(rs.getString("SALES"));
//填加保费 TYPE, FLIGHT_No, SALES, INSURED_AMOUNT, PREMIUM, Tel,
// DateTOday
cell = row.createCell((short) m++); //从第7列开始
String StrTemp = rs.getString("PREMIUM");
cell.setCellValue(StrTemp);
//填加保额
cell = row.createCell((short) m++); //从第8列开始
//定义样式
style = workbook.createCellStyle();
//创建工作本的字体
hf = workbook.createFont();
hf.setFontName("楷体_GB2312");
style.setFont(hf);
//设置列的属性
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(style);
cell.setCellValue(rs.getString("INSURED_AMOUNT"));
//填加旅客姓名
cell = row.createCell((short) m++); //从第9列开始
//定义样式
style = workbook.createCellStyle();
//创建工作本的字体
hf = workbook.createFont();
hf.setFontName("楷体_GB2312");
style.setFont(hf);
//设置列的属性
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(style);
cell.setCellValue(rs.getString("NAME_OF_THE_INSURED"));
//增加旅客证件号
cell = row.createCell((short) m++); //从第9列开始
cell.setCellValue(rs.getString("ID_CARD_No"));
//填加销售日期
cell = row.createCell((short) m++); //从第10列开始
cell.setCellValue(rs.getString("DateTOday"));
if (m >= 7) {
m = 0;
}
}
// 新建一输出文件流
FileOutputStream fOut = new FileOutputStream(filepath);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
} catch (Exception e) {
System.out.println("已运行 xlCreate() :错误信息 " + e);
throw new RuntimeException(e.getMessage());
}
}Top
10 楼irvine007(┣━┫Rvine)回复于 2005-06-03 10:30:52 得分 0
poi以及操作word没用过,个人感觉jxl操作Excel感觉很不错.
关于这个有问题可以帮你一下.
Top
11 楼jack286(jack286)回复于 2005-07-25 14:03:40 得分 0
gzTop
12 楼huang_yb(海风)回复于 2005-07-28 12:44:00 得分 0
mkTop




