教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

java - jacob - 操作word - 文档,进行写操作(10)

来源:网络收集 时间:2026-07-17
导读: java写入word表格模板(欢迎高手过来探讨) 我有一份word表格模板,格式是规定的了 数据是从数据库读出来的,现在想把读出来的数据插入到模板的相应位置 大家有什么好建议吗?? 我知道用jacod组件可以,但是jacod效率太低

java写入word表格模板(欢迎高手过来探讨) 我有一份word表格模板,格式是规定的了

数据是从数据库读出来的,现在想把读出来的数据插入到模板的相应位置

大家有什么好建议吗??

我知道用jacod组件可以,但是jacod效率太低,大家如果有其他好的方法,麻烦提供一下,谢谢!

问题补充:

BarryWei有没有Demo呢??有的话可以发给我吗??

falcon1990是利用poi对excel表格操作,这个我也会啊,我要的是对word的表格 问题补充:

java 下的 该问题已经关闭: 既然大家都没有什么好点的方法,我只能去操作2007的XML啦,推荐一篇文章给大家 http://www.infoq.com/cn/articles/cracking-office-2007-with-java 回答

首先,在word模板中适当的位置处加上特殊标记,比如 $内容$。

接着,用BufferedReader把模板中的所有字符串取出来,放入StringBuffer对象中。 第三,将StringBuffer对象中所有$内容$ replace掉,换成数据库中取出的结果。 第四,done。

package cn.com.enjoysoft.connection.db;

import java.io.FileNotFoundException; import java.io.IOException; import java.io.OutputStream; import java.sql.Connection; import java.sql.ResultSet;

import java.sql.SQLException; import java.sql.Statement;

import java.text.SimpleDateFormat; import java.util.Date;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

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

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor;

@SuppressWarnings(\

public class DownExcel extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

SimpleDateFormat sdf = new SimpleDateFormat(\String fileName = sdf.format(new Date()) + \导出数据\

fileName = response.encodeURL(new String(fileName.getBytes(\转码

response.setContentType(\

response.setHeader(\+ fileName + \

String type = request.getParameter(\try {

OutputStream os = response.getOutputStream(); HSSFWorkbook wb = generateWorkbook(type); if (wb != null) { wb.write(os); }

os.flush(); os.close();

} catch (FileNotFoundException e) { e.printStackTrace();

} catch (IOException e) { e.printStackTrace(); } }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }

static void processCell(HSSFCell cell, int value, HSSFCellStyle style) { cell.setCellValue(value); cell.setCellStyle(style); }

static void processCell(HSSFCell cell, String value, HSSFCellStyle style) { HSSFRichTextString _value = new HSSFRichTextString(value); cell.setCellValue(_value); cell.setCellStyle(style); }

private HSSFWorkbook generateWorkbook(String type) { Connection conn = null; try {

conn = TodayConnection.getConnection(); Statement stmt = conn.createStatement(); String sql = null;

if (type == null || type.equals(\

sql = \} else {

sql = \}

ResultSet rs = stmt.executeQuery(sql);

HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(\导出数据\

HSSFRow row = sheet.createRow((short) 0); row.setHeight((short) (15 * 32));

HSSFCell[] headArray = new HSSFCell[7];

String[] headTitles = new String[] { \姓名\电话\公司名称\\咨询项目\备注\时间\

HSSFCellStyle style = workbook.createCellStyle(); // 这里解决背景颜色

style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setBottomBorderColor(HSSFColor.BLACK.index); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setLeftBorderColor(HSSFColor.BLACK.index); style.setBorderRight(HSSFCellStyle.BORDER_THIN); style.setRightBorderColor(HSSFColor.BLACK.index); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setTopBorderColor(HSSFColor.BLACK.index); style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

// 字体

HSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 12); font.setFontName(\

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setFont(font);

for (int i = 0; i < headArray.length; i++) { headArray[i] = row.createCell(i); headArray[i].setCellStyle(style);

HSSFRichTextString value = new HSSFRichTextString(headTitles[i]); headArray[i].setCellValue(value); }

HSSFCellStyle styleData = workbook.createCellStyle();

styleData.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleData.setBottomBorderColor(HSSFColor.BLACK.index); styleData.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleData.setLeftBorderColor(HSSFColor.BLACK.index); styleData.setBorderRight(HSSFCellStyle.BORDER_THIN); styleData.setRightBorderColor(HSSFColor.BLACK.index); styleData.setBorderTop(HSSFCellStyle.BORDER_THIN);

styleData.setTopBorderColor(HSSFColor.BLACK.index); styleData.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 字体

HSSFFont font1 = workbook.createFont(); font1.setFontHeightInPoints((short) 12); font1.setFontName(\styleData.setFont(font1);

// 循环查询的所有记录把每一行写入worksheet里面 int no = 1;

short rowNo = 1; while (rs.next()) {

HSSFRow dataRow = sheet.createRow(rowNo++); dataRow.setHeight((short) (12 * 32));

processCell(dataRow.createCell(0), no++, styleData); processCell(dataRow.createCell(1), rs.getString(\styleData);

processCell(dataRow.createCell(2), rs.getString(\styleData);

processCell(dataRow.createCell(3), …… 此处隐藏:4099字,全部文档内容请下载后查看。喜欢就下载吧 ……

java - jacob - 操作word - 文档,进行写操作(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607438.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)