请教java生成Execl文档的方法或者word文档

zjygzdfazq 2010-06-24 01:08:54
在网上看来很多,很乱,谁知道比较简单的方法的
...全文
138 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jammy_hom 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zqfddqr 的回复:]
引用 1 楼 jammy_hom 的回复:
File file=new File(path+"\\name.doc");
file.createNewFile();

服了 。。。。。
[/Quote]
切。
wmx96 2010-06-25
  • 打赏
  • 举报
回复
9楼说的很详细了
sharpfire 2010-06-24
  • 打赏
  • 举报
回复
如果是生成excel,网上有个jxl.jar包,挺好用的,你可以试试
hack_ccsl 2010-06-24
  • 打赏
  • 举报
回复
用jxl吧,下个jar包。可以参考下下面的代码。

import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class TestJxl {

public void createReport(HttpServletRequest request,
HttpServletResponse response) {
String page_name = "测试Exl";

response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-disposition", "attachment;filename=\""
+ page_name + "Report.xls\"");

try {

OutputStream os = response.getOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet ws = wwb.createSheet("用户表", 0);
// 设置 结算报表 标题 字体
jxl.write.WritableFont font_title = new jxl.write.WritableFont(
WritableFont.ARIAL, 14, WritableFont.BOLD, false);
// 设置结算报表 标题 格式
jxl.write.WritableCellFormat format_title = new jxl.write.WritableCellFormat(
font_title);
// 设置结算报表 第一行 字体
jxl.write.WritableFont font_caption = new jxl.write.WritableFont(
WritableFont.ARIAL, 12, WritableFont.BOLD, false);
// 设置结算报表 第一行 格式
jxl.write.WritableCellFormat format_caption = new jxl.write.WritableCellFormat(
font_caption);
// 设置结算报表 其他内容 字体
jxl.write.WritableFont font_content = new jxl.write.WritableFont(
WritableFont.ARIAL, 11, WritableFont.NO_BOLD, false);
// 设置结算报表 其他内容 格式
jxl.write.WritableCellFormat format_content = new jxl.write.WritableCellFormat(
font_content);

jxl.write.WritableFont font_total = new jxl.write.WritableFont(
WritableFont.ARIAL, 11, WritableFont.BOLD, false);
jxl.write.WritableCellFormat format_total = new jxl.write.WritableCellFormat(
font_total);

jxl.write.Label label;

String label_title = "用户表";
jxl.write.Label title = new jxl.write.Label(1, 0, label_title,
format_title);
ws.addCell(title);

label = new jxl.write.Label(1, 4, "用户ID", format_caption);
ws.addCell(label);
label = new jxl.write.Label(2, 4, "用户名称", format_caption);
ws.addCell(label);
label = new jxl.write.Label(3, 4, "用户密码", format_caption);
ws.addCell(label);
label = new jxl.write.Label(4, 4, "用户性别", format_caption);
ws.addCell(label);

// 得到结果
List rs_result = new ArrayList();

addCell(format_content, ws, rs_result);
wwb.write();
wwb.close();
} catch (Exception e) {
}
finally {
try {
response.getOutputStream().close();
} catch (Exception e) {
}
}
}

public void addCell(WritableCellFormat format_content, WritableSheet ws, List result) {

if (result == null || result.size() == 0) {
return;
}

try {
for (int i = 0; i < result.size(); i++) {
jxl.write.Label l;
if (i != result.size() - 1) {
l = new Label(0, i + 5, "" + (i + 1));
ws.addCell(l);
}
l = new jxl.write.Label(1, i + 5, ((User) result.get(i))
.getUserId(), format_content);
ws.addCell(l);
l = new jxl.write.Label(2, i + 5, ((User) result.get(i))
.getUserName(), format_content);
ws.addCell(l);
l = new jxl.write.Label(3, i + 5, ((User) result.get(i))
.getPassWord(), format_content);
ws.addCell(l);
l = new jxl.write.Label(4, i + 5, ((User) result.get(i))
.getSex(), format_content);
ws.addCell(l);

}
} catch (WriteException ex) {
}
}
}
zqfddqr 2010-06-24
  • 打赏
  • 举报
回复
zqfddqr 2010-06-24
  • 打赏
  • 举报
回复
如果 excel 的话 poi还行的 word 就算了 直接jacob吧
还有一个叫jxl的也是对应的excel
becameaeagle 2010-06-24
  • 打赏
  • 举报
回复
学习一下
zqfddqr 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jammy_hom 的回复:]
File file=new File(path+"\\name.doc");
file.createNewFile();
[/Quote]
服了 。。。。。
leon0098 2010-06-24
  • 打赏
  • 举报
回复
推荐apache的poi开源包,里面有操作office文件的API(word,excel等等)
jiayuhoho 2010-06-24
  • 打赏
  • 举报
回复
APACHE的POI项目 通过JAVA操作EXCEL, WORD等OFFICE程序 直接去官网上看看API 有TUTORIAL的 功能很强
eimhee 2010-06-24
  • 打赏
  • 举报
回复
开源POI
jammy_hom 2010-06-24
  • 打赏
  • 举报
回复
File file=new File(path+"\\name.doc");
file.createNewFile();

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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