「java模版下载」java word模版

博主:adminadmin 2022-11-30 20:08:08 72

本篇文章给大家谈谈java模版下载,以及java word模版对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java poi模板导出word后用微软的word打不开,但是wps可以,跪求大牛解决一下,不胜感激。

楼主你好,首先你检测一下你的word是否正常,方法是:点开始,再点运行,输入winword /safe(注意,/前面有一个空格),看看是否能打开word,如果可以,那么word是正常的,没有问题。那么楼主打不开word可能是通用模板的问题了,通用模板的具体路径为:C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates,把这个文件夹下的内容全部彻底删除,然后再去打开word,它会自动生成一个默认的通用模板,问题应该就能解决了!

java写了一个下载excel的功能,我想把用户下载的模版的所有单元格都变成文本格式。该如何写呢?

public void export(ListPSbLnode li, String dateString,String[] title) throws WriteException, IOException {

// 准备设置excel工作表的标题

// 创建Excel工作薄

WritableWorkbook wwb = null;

try {

// 输出的excel的路径

String filePath1 = Const.pathStr+Const.pathStr4+Const.pathStr3;

File file = new File(filePath1);

if(!file.exists()){

file.mkdir();

}

String filePath=filePath1+Const.pathStr4+Const.pathStr6+dateString+Const.pathStr5;

// 新建立一个jxl文件,即在C盘下生成testJXL.xls

OutputStream os = new FileOutputStream(filePath);

wwb = Workbook.createWorkbook(os);

// 添加第一个工作表并设置第一个Sheet的名字

WritableSheet sheet = wwb.createSheet("设备清单", 0);

Label label;

for (int i = 0; i title.length; i++) {

// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z

// 在Label对象的子对象中指明单元格的位置和内容

label = new Label(i, 0, title[i]);

// 将定义好的单元格添加到工作表中

sheet.addCell(label);

}

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

int j = 0;

j = i + 1;

//填充单元格

//获取区域名称

label = new Label(0, j, li.get(i).getQyName());

sheet.addCell(label);

//获取区域名称

label = new Label(1, j, li.get(i).getJzName());

sheet.addCell(label);

//获取设备名称

label = new Label(2, j, li.get(i).getLnodeName());

sheet.addCell(label);

// //获取设备类型名称

label = new Label(3, j, li.get(i).getSbxh());

sheet.addCell(label);

//获取运行状态

label = new Label(4, j, li.get(i).getYxzh());

sheet.addCell(label);

//获取删除状态

label = new Label(5, j, li.get(i).getDeleteFlag());

sheet.addCell(label);

//获取启用状态

label = new Label(6, j, li.get(i).getQyzt());

sheet.addCell(label);

//获取设备投运日期

label = new Label(7, j, li.get(i).getSbtyri());

sheet.addCell(label);

//获取使用年限

jxl.write.Number numb1 = new jxl.write.Number(8, j, li.get(i).getSynx());

sheet.addCell(numb1);

//获取区域名称

label = new Label(9, j, li.get(i).getAddUser());

sheet.addCell(label);

//获取区域名称

label = new Label(10, j, li.get(i).getUpdUser());

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String newdate = sdf.format(li.get(i).getUpdTime());

label = new Label(11, j, newdate);

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");

String newdate2 = sdf2.format(li.get(i).getAddTime());

label = new Label(12, j, newdate2);

sheet.addCell(label);

//获取区域名称

label = new Label(13, j, li.get(i).getZcbh());

sheet.addCell(label);

//获取区域名称

label = new Label(14, j, li.get(i).getSbcs());

sheet.addCell(label);

//获取区域名称

jxl.write.Number numb2 = new jxl.write.Number(15, j, li.get(i)

.getSbll());

sheet.addCell(numb2);

//获取区域名称

label = new Label(16, j, li.get(i).getRldw());

sheet.addCell(label);

//获取区域名称

label = new Label(17, j, li.get(i).getWxghjl());

sheet.addCell(label);

}

// 写入数据

wwb.write();

} catch (Exception e) {

e.printStackTrace();

}finally{

// 关闭文件

wwb.close();

}

}

Const文件:

/**路径:C盘*/

public static String pathStr = "C:";

/**路径://*/

public static String pathStr2 = "//";

/**文件夹:workspace*/

public static String pathStr3 = "exportFile";

/**文件名:world*/

public static String pathStr6 = "Equipment";

/**路径:/*/

public static String pathStr4 = "/";

/**路径:.xls*/

public static String pathStr5 = ".xls";

java项目中怎么实现jsp页面Excel模板下载并弹框。

controller层关键代码:

@RequestMapping(value = "/excel")

public ModelAndView exportExcel() throws Exception {

ModelAndView mv = new ModelAndView();

PageData pd = new PageData();

pd = this.getPageData();

MapString, Object dataMap = new HashMapString, Object();

ListString titles = new ArrayListString();

titles.add("办事处"); // 1

titles.add("当日新增扫码商户(个)"); // 2

titles.add("当日交易笔数(笔)"); // 3

titles.add("当日交易金额"); // 4

titles.add("当日收益"); // 5

titles.add("累计新增扫码商户(个)"); // 6

titles.add("累计交易笔数(笔)"); // 7

titles.add("累计交易金额"); // 8

titles.add("累计收益"); // 9

dataMap.put("titles", titles);

Page page = new Page();

page.setPd(pd);

ListPageData varOList = agencyService.list(page);

ListPageData varList = new ArrayListPageData();

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

PageData vpd = new PageData();

vpd.put("var1", varOList.get(i).get("AGENCYNAME").toString()); // 1

vpd.put("var2", varOList.get(i).get("TODAYINSTALL").toString()); // 2

vpd.put("var3", varOList.get(i).get("TODAYTRANS").toString()); // 3

vpd.put("var4", varOList.get(i).get("TODAYPRICE").toString()); // 4

vpd.put("var5", varOList.get(i).get("TODAYPAYMENT").toString()); // 5

vpd.put("var6", varOList.get(i).get("TOTALINSTALL").toString()); // 6

vpd.put("var7", varOList.get(i).get("TOTALTRANS").toString()); // 7

vpd.put("var8", varOList.get(i).get("TOTALPRICE").toString()); // 8

vpd.put("var9", varOList.get(i).get("TOTALPAYMENT").toString()); // 9

varList.add(vpd);

}

dataMap.put("varList", varList);

ObjectExcelView erv = new ObjectExcelView();

mv = new ModelAndView(erv, dataMap);

return mv;

}

POI生成EXCEL关键代码:

public class ObjectExcelView extends AbstractExcelView{

@SuppressWarnings("deprecation")

@Override

protected void buildExcelDocument(MapString, Object model,

HSSFWorkbook workbook, HttpServletRequest request,

HttpServletResponse response) throws Exception {

// TODO Auto-generated method stub

Date date = new Date();

String filename = Tools.date2Str(date, "yyyyMMddHHmmss");

HSSFSheet sheet;

HSSFCell cell;

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition", "attachment;filename="+filename+".xls");

sheet = workbook.createSheet("sheet1");

ListString titles = (ListString) model.get("titles");

int len = titles.size();

HSSFCellStyle headerStyle = workbook.createCellStyle(); //标题样式

headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

HSSFFont headerFont = workbook.createFont(); //标题字体

headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

headerFont.setFontHeightInPoints((short)11);

headerStyle.setFont(headerFont);

short width = 20,height=25*20;

sheet.setDefaultColumnWidth(width);

for(int i=0; ilen; i++){ //设置标题

String title = titles.get(i);

cell = getCell(sheet, 0, i);

cell.setCellStyle(headerStyle);

setText(cell,title);

}

sheet.getRow(0).setHeight(height);

HSSFCellStyle contentStyle = workbook.createCellStyle(); //内容样式

contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

ListPageData varList = (ListPageData) model.get("varList");

int varCount = varList.size();

for(int i=0; ivarCount; i++){

PageData vpd = varList.get(i);

for(int j=0;jlen;j++){

String varstr = vpd.getString("var"+(j+1)) != null ? vpd.getString("var"+(j+1)) : "";

cell = getCell(sheet, i+1, j);

cell.setCellStyle(contentStyle);

setText(cell,varstr);

}

}

}

}

在哪能下载javaweb项目模板

可以在开源中国网站上面下载源码

GitHub上面上面下载,搜索框中输入自己想找的模板名称

CSDN社区上面可以下载项目模板

这是我常常下载的三个地方,希望能帮到你。

java如何根据word模板生成word文档

首先是action的createDoc方法:

[java]

/**

* 通过HttpCient调用报告服务器的方法生成报告 DOC

*/

public String createDoc() throws Exception {

//定义放回成功与否的判断码

String prMsg="";

// 获取当前登录的用户

UserVo userVo = CommonUtils.getUserMessage();

//获取模版类型

docType = Struts2Utils.getParameter("docType");

//重新创建文档

String creatOrnot = Struts2Utils.getParameter("creatOrnot");

//获取组组编号参数

workgroupId = Struts2Utils.getParameter("workgroupId");

//获取评估用例实例ID参数

evtcaseInstId = Struts2Utils.getParameter("evtcaseInstId");

if(CommonUtils.isNotNull(docType)){

//获取项目Id

projectId = Struts2Utils.getParameter("projectId");

if(!CommonUtils.isNotNull(projectId)){

if(CommonUtils.isNotNull(this.getIdFromSession("PM_PROJECTID"))){

projectId = this.getIdFromSession("PM_PROJECTID").toString();

}else{

Struts2Utils.getRequest().setAttribute("msg", "请先选择项目!");

}

}

if(CommonUtils.isNotNull(projectId)){

prMsg = infoSystemDescService.downloadFileByUrl(projectId, userVo.getUserId(), workgroupId, evtcaseInstId, docType, creatOrnot);

}

}

return "docList";

}

注:在我贴出来的代码中,能看懂就行了,有些不用管他(可能是其他业务方面的判断),关于最后返回的prMsg---代表各种状态 主要表示成功与否或者是出错的信息。

接着我贴出service层的方法downloadFileByUrl

[java]

/prep/pp/ppre name="code" class="java"pre name="code" class="java"/**

* 功能:

* 1.(生成报告文档)

* 2.保存指定URL的源文件到指定路径下

* @param projectId

* @param userId

* @param workgroupId

* @param evtcaseInstId

* @param docType

* @param creatOrnot

* @return

* @throws Exception

*/

@SuppressWarnings("deprecation")

public synchronized String downloadFileByUrl(String projectId,String userId,String workgroupId,String evtcaseInstId,String docType,String creatOrnot) throws Exception {

String msg = "1";//"1":默认为创建成功的提示信息 "2":标识创建失败

String srcUrl = ""; //报告服务器的执行路径

HttpResponse response = null;

FileOutputStream out = null;

HttpClient httpclient = null;

HttpGet httpget = null;

long time1 = System.currentTimeMillis();

//获取保存后的路径

TProjDoc projDoc = projectDocDao.findFileByType(userId, Integer.parseInt(docType), Long.parseLong(projectId), workgroupId,evtcaseInstId);

if(projDoc == null || (projDoc != null CommonUtils.isNotNull(creatOrnot) creatOrnot.equals("1"))){ //FT_任务编号_[FID]

try {

//获取报告服务器的执行路径

srcUrl = xmlPathDef.getActionUrl(docType, projectId,userId,workgroupId,evtcaseInstId);

HttpParams httpParams = new BasicHttpParams();

// 设置最大连接数

ConnManagerParams.setMaxTotalConnections(httpParams, 1);

// 设置获取连接的最大等待时间

//ConnManagerParams.setTimeout(httpParams, 6000);

// 设置每个路由最大连接数

ConnPerRouteBean connPerRoute = new ConnPerRouteBean(1);

ConnManagerParams.setMaxConnectionsPerRoute(httpParams,connPerRoute);

// 设置连接超时时间

HttpConnectionParams.setConnectionTimeout(httpParams, 6000);

// 设置读取超时时间

if(docType.toString().equals(XmlPathDef.SPOTTEST_DOC) docType.toString().equals(XmlPathDef.FTEST_DOC)){

HttpConnectionParams.setSoTimeout(httpParams, 2400000);

}else{

HttpConnectionParams.setSoTimeout(httpParams, 600000);

}

SchemeRegistry registry = new SchemeRegistry();

registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));

registry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));

ClientConnectionManager connectionManager = new ThreadSafeClientConnManager(httpParams, registry);

httpclient = new DefaultHttpClient(connectionManager, httpParams);

httpget = new HttpGet(srcUrl);

//执行返回

response = httpclient.execute(httpget);

//如果是本机既当服务器,又当报表服务器,那么就只生成一遍

String ipvalues = xmlPathDef.getRepUrl();

if(CommonUtils.isNotNull(ipvalues)){

if(ipvalues.indexOf(":") != -1){

ipvalues = ipvalues.substring(0,ipvalues.lastIndexOf(":"));

}

}

HttpEntity entity = response.getEntity();

//获取保存后的路径

projDoc = projectDocDao.findFileByType(userId,Integer.parseInt(docType), Long.parseLong(projectId), workgroupId,evtcaseInstId);

String filePath = "";

if(projDoc != null)

filePath = projDoc.getPath();

if(CommonUtils.isNotNull(filePath)){

String basepath = XmlPathDef.getBasePath();

String outFilePath = (basepath + filePath).replaceAll("\\\\", "\\/");

XmlPathDef.isExists(outFilePath);

File wdFile = new File(outFilePath);

out = new FileOutputStream(wdFile);

int l;

byte[] tmp = new byte[2048];

while ((l = instream.read(tmp)) != -1) {

out.write(tmp, 0, l);

}

out.flush();

out.close();

System.out.println("****************************** ");

System.out.println("");

System.out.println("*************** 恭喜! 报告创建成功 结束 ***************");

System.out.println("");

}else{

msg = "8";//说明word创建成功,但是数据没有保存成功

response = null;

}

}else{

msg = "2";

}

} catch (ClientProtocolException e) {

msg = "7";

e.printStackTrace();

} catch (IOException e) {

msg = "7";

logger.error("数据库报告服务器地址配置错误或网络不通!!2.连接是否超时" + e.getMessage());

e.printStackTrace();

}finally{

if(out!=null){

try {

out.close();

} catch (IOException e) {

msg = "7";

logger.error("数据库报告服务器地址配置错误或网络不通!!2.连接是否超时" + e.getMessage());

e.printStackTrace();

}

}

}

}

long time2 = System.currentTimeMillis();

long numTime = time2 - time1;

if(docType.toString().equals(XmlPathDef.SPOTTEST_DOC) docType.toString().equals(XmlPathDef.FTEST_DOC)){

if(numTime = 2401000){

msg = "9";

}

}else{

if(numTime = 601000){

msg = "9";

}

}

System.out.println("");

String loggerinfo = "********* 报告类型为 :" + docType + " 执行时间为: " + (time2 - time1) /1000 + " 秒!***************";

System.out.println(loggerinfo);

System.out.println("");

System.out.println("*****************************");

logger.info(loggerinfo);

return msg;

}

java 如何根据模板生成word,并提供下载? 求高手帮助

给你一方式吧,目前应该在网上找不到方法。

如果只生成文字的话,很好些。你把当前的文字直接写入一个文件中,后缀名修改成.doc就可以了

第二种是,把word文档转换成.xml文件,当模块,你每次生成的东西,用流去操纵这个转换的xml文件。操作王城之后在把这xml文件转换成.doc文件。里面可以对表格,样式什么都可以控制。

java模版下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java word模版、java模版下载的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。