请教java生成Execl文档的方法或者word文档 在网上看来很多,很乱,谁知道比较简单的方法的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File file=new File(path+"\\name.doc");file.createNewFile(); APACHE的POI项目 通过JAVA操作EXCEL, WORD等OFFICE程序 直接去官网上看看API 有TUTORIAL的 功能很强 推荐apache的poi开源包,里面有操作office文件的API(word,excel等等) 如果 excel 的话 poi还行的 word 就算了 直接jacob吧 还有一个叫jxl的也是对应的excel 用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) { } }} 如果是生成excel,网上有个jxl.jar包,挺好用的,你可以试试 请问为什么我这个正则表达式提示错误 JVMTI中初始化的变量在java程序的其它本地代码中无法使用? 唉~JTabbedPane的问题,请老大们帮忙吧 JTable如何实现undo?请大家帮忙. 做swing程序时如何在不同的容器中传递事件 如何停止IO进程? 请教数据类型如何判断。。。。 一头雾水 一个软件项目经理的遭遇,见信,一切真实!大家来声讨流氓老板吧! 关于KJava的一点调查(不断加分中。。。欢迎参加) 菜鸟刚看java编程思想,留有几个问题求解 字符串转换
file.createNewFile();
还有一个叫jxl的也是对应的excel
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) {
}
}
}