CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

请问怎把一个表格的内容导入到word或excel啊

楼主boluotianxie(风筝)2005-06-02 17:59:38 在 Java / Web 开发 提问

我从数据库里查询出的内容以表格形式显示在页面上,  
  请问如何把它导入到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

相关问题

  • .net做的表格怎样导入Excel表格中?
  • 急!请问在DELPHI中把EXCEL和WORD的表格数据导入在数据库中?
  • 如何在vfp中导入excel表格数据?
  • 关于把数据导入excel表格的问题。请帮助!
  • 怎样把DBGrid全部导入Excel表格里?
  • 把MFLEXGRID的内容导入到Excel表格?
  • 怎样用ASP将Excel表格数据导入Oracle?
  • java怎么将excel表格数据导入数据库
  • 怎样将excel表格导入到Oracle数据库中
  • 文本文件导入excel表格的问题!

关键词

  • excel
  • 字段
  • 页面
  • 文件
  • 数据库
  • word
  • 内容
  • date
  • apache
  • 导入

得分解答快速导航

  • 帖主:boluotianxie

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo