word 进行数据库 获取数据

/**

* Word导出

* @throws DocumentException

*/

public void exeportWord() throws DocumentException{

//放到tomcat下

String formName="word";

String pathName=ServletActionContext.getRequest().getSession().getServletContext().getRealPath("")+"\\export\\"+formName+".doc";

//4.1定义表头

String tableName="T_USER";

String tableCName = selectDataService.getString("select comments from user_tab_comments where table_name =‘"+tableName+"‘");

//4.2获取表的中文注释

List<Map> list=selectDataService.queryForList("select t.column_name,t.comments from user_col_comments t where table_name =‘"+tableName+"‘");

//4.2 创建一个list

List<String> columns=new ArrayList<String>();

Map<String, String> colmap=new TreeMap<String, String>();

for (Map map:list) {

//把数据库里的注释取出来,放到columns里

columns.add(map.get("COMMENTS").toString());

//把數據庫的中文注釋放到map集合中

colmap.put(map.get("COMMENTS").toString(), map.get("COLUMN_NAME").toString());

}

FileOutputStream outputStream=null;

Document document=null;

try {

//创建输出流

outputStream=new FileOutputStream(pathName);

//创建document对象

document=new Document(PageSize.A4);

//输出流 与document 进行关联

RtfWriter2.getInstance(document, outputStream);

//打开document

document.open();

//定义字体

BaseFont createFont = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

Font font=new Font(createFont,10,Font.BOLD);

//写入字体

Paragraph paragraph=new Paragraph("用户管理",font);

//把他放到中间

paragraph.setAlignment("center");

//保存到document

document.add(paragraph);

//换行

document.add(new Paragraph("\n",font));

// 从数据库里取出所有数据

List<Map> dataList=selectDataService.queryForList("select * from "+tableName);

//写表格

PdfPTable pdf= new PdfPTable(columns.size());

PdfPCell cell=null;

//创建表格

for(int i=0;i<11;i++){

String zhang = columns.get(i);

cell=new PdfPCell(new Phrase(zhang, font));

pdf.addCell(cell);

}

for (int i = 0; i < dataList.size(); i++) {

//获取一行一行的数据

Map cols=dataList.get(i);

//j循环是循环一条数据里的每个值

for (int j = 0; j < cols.size(); j++) {

//放到每个单元格里

String fangyuange = columns.get(j);

//去英文字段

String ing = colmap.get(fangyuange);

//放到列种

Object value = cols.get(ing);

//创建单元格(通过行)放进单元格

cell = new PdfPCell(new Phrase(""+value,font));

pdf.addCell(cell);

}

}

document.add(pdf);

//   ServletActionContext.getResponse().getWriter().write("ok");

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

document.close();

try {

outputStream.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

FileUtil.downloadFile(ServletActionContext.getRequest(),  ServletActionContext.getResponse(), pathName, formName+".doc");  //看图片

//      return null;

}

时间: 2024-08-27 18:46:45

word 进行数据库 获取数据的相关文章

easyui-datagrid通过action从数据库获取数据的关键代码

实际上是结合struts2来从数据获取json格式的数据. 关键代码: GetUserAction.java代码 package com.log.control; import java.io.IOException; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apa

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

jQuery easyui 绑定下拉框控件 从数据库获取数据 MVC controller传值过去

这是在做OA系统的时候,需要用到的一个小功能,比较通用的,因为本人也是才接触easyui不久,希望有错的地方大家指出来,谢谢 //界面  用的easyui-combobox <td><label for="lab_con_id">服务合同编号:</label></td> <td><input class="easyui-combobox" data-options="required:fal

OpenLayers学习笔记8——使用servlet实现从数据库获取数据并标注

这两天在图书馆边看jsp边查边写代码,改完了老板交给的任务,也顺带实现了查询的效果,先来看下最终实现的效果图: 整个实现思路是:服务器端采用servlet+mysql模糊查询,servlet返回json数据,客户端解析json数据以表格形式显示并根据经纬度在地图上进行标注. 1.服务器端Servlet代码: package edu.whu.vge.servlet; import java.io.IOException; import java.io.PrintWriter; import jav

PHPExcel下载(从数据库获取数据)示例代码

<?php /** * PHPEXCEL生成excel文件 * @author:firmy * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐 */ header("connect-type:text/html;charset=utf-8"); $dsn="mysql:host=localhost;dbname=me"; $db=new PDO($dsn,'root','123',array(PDO::MYSQL_ATTR_INIT_

动态从数据库获取数据(Vue.js)【数据可变】

package com.nf.entity; import javax.persistence.*; @Entity@Table(name = "book")public class Book {    private Integer id;    private String name;    private Integer price;        @Id    @GeneratedValue(strategy= GenerationType.IDENTITY)    @Colu

从SQLite获取数据完成一个产品信息展示

在ios实际开发当中,我们常常用到Core Data做为数据储存首选.但在处理一些大量复杂的数据值且数据之间相互关联的时候,这就不得不使用关系型数据库来实现.例如一个导航程序,自身应该包含大量的地图自身数据并且数据需要在app启动的时候就开始读取加载.而且数据本身变动不是特别频繁.重复向服务器发送请求获取信息是一件十分浪费的事情.因此我们可以用一个本地数据文件来直接配置.做为轻量级关系型数据库的sqlite是ios开发首选.而xcode本身包含了sqlite库,因此在ios使用的时候不需要额外配

Android利用数据库传送数据

---恢复内容开始--- 一.建表 //通过SQLiteDatabase 创建数据库stu.db3 final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/stu.db3", null); db.execSQL("CREATE TABLE student(id INTEGER PRIMARY KEY, name VARCHAR(50), scor

是用JDBC从数据库中获取数据并以java对象返回

/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys为主键,参数顺序和表中保持一致 如果id, name 为主键 类名为Person 则 getEntity(Person.class,1,"name") * @return */ public static Object getEntity(Class c, Object... primaryKeys) { PreparedState