當前位置:首頁 » 編程語言 » java下載的模板

java下載的模板

發布時間: 2022-07-22 00:38:11

A. java寫了一個下載excel的功能,我想把用戶下載的模版的所有單元格都變成文本格式。該如何寫呢

public void export(List<PSbLnode> 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";

B. Java 下載文件的方法怎麼寫

參考下面
public HttpServletResponse download(String path, HttpServletResponse response) {
try {
// path是指欲下載的文件的路徑。
File file = new File(path);
// 取得文件名。
String filename = file.getName();
// 取得文件的後綴名。
String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
// 以流的形式下載文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 設置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return response;
}

// 下載本地文件
public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
String fileName = "Operator.doc".toString(); // 文件的默認保存名
// 讀到流中
InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路徑
// 設置輸出的格式
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// 循環取出流中的數據
byte[] b = new byte[100];
int len;
try {
while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}

// 下載網路文件
public void downloadNet(HttpServletResponse response) throws MalformedURLException {
int bytesum = 0;
int byteread = 0;
URL url = new URL("windine.blogdriver.com/logo.gif");
try {
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
FileOutputStream fs = new FileOutputStream("c:/abc.gif");
byte[] buffer = new byte[1204];
int length;
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread;
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

//支持在線打開文件的一種方式
public void downLoad(String filePath, HttpServletResponse response, boolean isOnLine) throws Exception {
File f = new File(filePath);
if (!f.exists()) {
response.sendError(404, "File not found!");
return;
}
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
response.reset(); // 非常重要
if (isOnLine) { // 在線打開方式
URL u = new URL("file:///" + filePath);
response.setContentType(u.openConnection().getContentType());
response.setHeader("Content-Disposition", "inline; filename=" + f.getName());
// 文件名應該編碼成UTF-8
} else { // 純下載方式
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());
}
OutputStream out = response.getOutputStream();
while ((len = br.read(buf)) > 0)
out.write(buf, 0, len);
br.close();
out.close();
}

C. 網上下的網頁模板怎麼用在javaweb上

網上下的網頁模板是靜態的html或者shtml頁面,要用在真實項目中需要把它們改寫成動態網頁jsp文件來在伺服器端執行。

修改方法如下:
1、點擊html文件,右鍵->重命名,修改成.jsp文件。
2、把.jsp文件導入工程中發布到web容器。
3、運行工程,用http://localhost:8080/test.jsp來訪問

JSP全稱是JavaServer Pages,它和servle技術一樣,都是SUN公司定義的一種用於開發動態web資源的技術。
JSP這門技術的最大的特點在於,寫jsp就像在寫html,但:
它相比html而言,html只能為用戶提供靜態數據,而Jsp技術允許在頁面中嵌套java代碼,為用戶提供動態數據。
相比servlet而言,servlet很難對數據進行排版,而jsp除了可以用java代碼產生動態數據的同時,也很容易對數據進行排版。
不管是JSP還是Servlet,雖然都可以用於開發動態web資源。但由於這2門技術各自的特點,在長期的軟體實踐中,人們逐漸把servlet作為web應用中的控制器組件來使用,而把JSP技術作為數據顯示模板來使用。

D. java,有木有模板借我參考一下下

代碼肯定沒有啦,明顯是命題類作業嘛,我過了下需求,也不是很難的東西,如果做的好點可以用個工作流的審批一下,這類系統叫資產管理類,也可以成為庫管系統,功能點也不是很多,目測大約37個功能點就搞定啦。無非是30個增刪改查,2個登錄登出,5個以上的工作流審批,就結束戰斗啦。
用戶角色大約3類,1類系統管理員,2類業務人員,3經理級別
也就是系統管理員任務是分配許可權,業務人員只能辦理入庫出庫動作,每次出庫入庫要有經理審批,一個工作流表單解決戰斗,再說需求中也沒有說允許經理駁回,或者會簽等操作都是順序執行的程序。如果你現在還沒看到工作流呢,就定好表裡面的一個數據類型欄位,譬如入庫為0,經理查入庫的數據,編輯完同意不同意,狀態就變為1,就OK啦,數據工作流碼,反正怎麼實現都可以了

E. java項目中怎麼實現jsp頁面Excel模板下載並彈框。

controller層關鍵代碼:
@RequestMapping(value="/excel")
publicModelAndViewexportExcel()throwsException{

ModelAndViewmv=newModelAndView();
PageDatapd=newPageData();
pd=this.getPageData();
Map<String,Object>dataMap=newHashMap<String,Object>();

List<String>titles=newArrayList<String>();
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);
Pagepage=newPage();
page.setPd(pd);
List<PageData>varOList=agencyService.list(page);
List<PageData>varList=newArrayList<PageData>();
for(inti=0;i<varOList.size();i++){
PageDatavpd=newPageData();
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);
ObjectExcelViewerv=newObjectExcelView();
mv=newModelAndView(erv,dataMap);
returnmv;
}

POI生成EXCEL關鍵代碼:
{

@SuppressWarnings("deprecation")
@Override
(Map<String,Object>model,
HSSFWorkbookworkbook,HttpServletRequestrequest,
HttpServletResponseresponse)throwsException{
//TODOAuto-generatedmethodstub
Datedate=newDate();
Stringfilename=Tools.date2Str(date,"yyyyMMddHHmmss");
HSSFSheetsheet;
HSSFCellcell;
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
sheet=workbook.createSheet("sheet1");

List<String>titles=(List<String>)model.get("titles");
intlen=titles.size();
HSSFCellStyleheaderStyle=workbook.createCellStyle();//標題樣式
headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
HSSFFontheaderFont=workbook.createFont(); //標題字體
headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
headerFont.setFontHeightInPoints((short)11);
headerStyle.setFont(headerFont);
shortwidth=20,height=25*20;
sheet.setDefaultColumnWidth(width);
for(inti=0;i<len;i++){//設置標題
Stringtitle=titles.get(i);
cell=getCell(sheet,0,i);
cell.setCellStyle(headerStyle);
setText(cell,title);
}

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

HSSFCellStylecontentStyle=workbook.createCellStyle();//內容樣式
contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
List<PageData>varList=(List<PageData>)model.get("varList");
intvarCount=varList.size();
for(inti=0;i<varCount;i++){
PageDatavpd=varList.get(i);
for(intj=0;j<len;j++){
Stringvarstr=vpd.getString("var"+(j+1))!=null?vpd.getString("var"+(j+1)):"";
cell=getCell(sheet,i+1,j);
cell.setCellStyle(contentStyle);
setText(cell,varstr);
}

}

}

}

F. java 代碼實現下載.doc文件

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%!
public String toUtf8String(String s)
{
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
%>
<%
String filename=new String(request.getParameter("filename").getBytes("ISO8859-1"),"GBK");
String dirName="D:/我.doc";
java.io.File ff=null;
String dd=dirName+System.getProperties().getProperty("file.separator")+filename;
try{
ff=new java.io.File(dd);
}
catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
if (ff!=null&&ff.exists()&&ff.isFile())
{
long filelength = ff.length();
InputStream inStream=new FileInputStream(dd);
//設置輸出的格式
response.reset();
response.setContentType("application/x-msdownload");
response.setContentLength((int)filelength);
response.addHeader("Content-Disposition","attachment; filename=\"" + toUtf8String(filename) + "\"");
//循環取出流中的數據
byte[] b = new byte[100];
int len;
while((len=inStream.read(b)) >0)
response.getOutputStream().write(b,0,len);
inStream.close();
out.clear();
out = pageContext.pushBody();
}
%>

:<a href="d.jsp">aa</a>

上面的那個是用流寫的 但是也可以用超鏈接下載
你寫上文件的路徑就可以了

G. 把java頁面上的數據下載成word文檔必須要模板嗎

使用相同的條件在發起一次查詢,查詢結果拼裝成word的xml格式輸出即可。

H. 在哪能下載javaweb項目模板

  1. 可以在開源中國網站上面下載源碼

  2. GitHub上面上面下載,搜索框中輸入自己想找的模板名稱

  3. CSDN社區上面可以下載項目模板

這是我常常下載的三個地方,希望能幫到你。

I. java 如何根據模板生成word,並提供下載 求高手幫助

給你一方式吧,目前應該在網上找不到方法。
如果只生成文字的話,很好些。你把當前的文字直接寫入一個文件中,後綴名修改成.doc就可以了

第二種是,把word文檔轉換成.xml文件,當模塊,你每次生成的東西,用流去操縱這個轉換的xml文件。操作王城之後在把這xml文件轉換成.doc文件。裡面可以對表格,樣式什麼都可以控制。

熱點內容
b樹磁碟存儲 發布:2025-01-31 19:42:53 瀏覽:837
聯想小新air15怎麼配置環境 發布:2025-01-31 19:06:57 瀏覽:968
什麼配置玩3a 發布:2025-01-31 19:05:22 瀏覽:586
phpoa系統 發布:2025-01-31 18:58:42 瀏覽:10
值e的編程 發布:2025-01-31 18:57:06 瀏覽:977
安卓手機的軟體認證在哪裡 發布:2025-01-31 18:57:01 瀏覽:535
android彈出來 發布:2025-01-31 18:56:56 瀏覽:232
辦公室白領新解壓方法 發布:2025-01-31 18:55:23 瀏覽:558
摩斯密碼短長是什麼意思 發布:2025-01-31 18:50:17 瀏覽:587
類的訪問修飾 發布:2025-01-31 18:42:46 瀏覽:933