導航:首頁 > 編程語言 > java下載表格

java下載表格

發布時間:2022-09-05 13:53:31

java如何通過js方法下載頁面上的表格

ajax獲取一個頁面的所有代碼,然後處理就行了。

⑵ java xls下載方法

String 文件名 = 文件路徑.substring(getWJLJ().lastIndexOf(File.separator)+1);

response.setContentType("appication/pdf");//下載東西的格式
response.setHeader("Content-disposition", "attachment;文件名="+文件名);
try {
FileInputStream fis = new FileInputStream(文件路徑);
java.io.OutputStream os = response.getOutputStream();
byte[] b = new byte[1024];
int len = 0;
while((len = fis.read(b))!=-1){
os.write(b, 0, len);
}
os.flush();
os.close();
fis.close();
思路就是,獲取文件名字和文件路徑,知道文件格式,創建IO進行下載。

⑶ 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";

⑷ Java導出execl並下載

struts2 Action的類中代碼
public void createExecl() throws WriteException, IOException{
WritableWorkbook book=null;
@SuppressWarnings("unused")
WritableSheet sheet=null;
try{
String path="C:\\test.xls";
File file=new File(path);
//打開文件
book = Workbook.createWorkbook(file);
// 生成名為「第一頁」的工作表,參數0表示這是第一頁
sheet = book.createSheet( " 第一頁 " , 0 );
// 在Label對象的構造子中指名單元格位置是第一列第一行(0,0)
}catch(Exception e){
System.out.println(e);
}finally{
//寫入數據並關閉文件
book.write();
book.close();
}
try {
String path="C:\\test.xls";
File file=new File(path);
// Excel獲得文件
Workbook wb = Workbook.getWorkbook(file);
// 打開一個文件的副本,並且指定數據寫回到原文件
WritableWorkbook book2 = Workbook.createWorkbook(file, wb);
// 添加一個工作表
//WritableSheet sheet = book.createSheet( " 第二頁 " , 1 );
//WritableSheet sheet = book.getSheet(0);
WritableSheet sheet2=book2.getSheet(0);
// 在Label對象的構造子中指名單元格位置是第一列第一行(0,0)
// 以及單元格內容為test
Label label=null;
Label label2=null;
label=new Label(0,0,"計費Id");
sheet2.addCell(label);
label=new Label(1,0,"主動呼叫號碼");
sheet2.addCell(label);
label=new Label(2,0,"被動呼叫號碼");
sheet2.addCell(label);
label=new Label(3,0,"計費開始時間");
sheet2.addCell(label);
label=new Label(4,0,"計費結束時間");
sheet2.addCell(label);
label=new Label(5,0,"計費單價");
sheet2.addCell(label);
label=new Label(6,0,"計費總金額");
sheet2.addCell(label);
label=new Label(7,0,"扣費號碼");
sheet2.addCell(label);
label=new Label(8,0,"活動名稱");
sheet2.addCell(label);
label=new Label(9,0,"備注");
sheet2.addCell(label);
int j=1;
List<Object> list=baseManager.findByHql("from TalkInformationBean tb left join fetch tb.activeBean order by tb.talkId desc tb.talkId");
Iterator<Object> it=list.iterator();
while(it.hasNext()){
talkInfo=(TalkInformationBean)it.next();
label2 = new Label( 0 , j , talkInfo.getTalkId().toString() );
sheet2.addCell(label2);
label2 = new Label( 1 , j , talkInfo.getInitiMobile().toString() );
sheet2.addCell(label2);
label2 = new Label( 2 , j , talkInfo.getPassMobile().toString() );
sheet2.addCell(label2);
label2 = new Label( 3 , j , talkInfo.getStartTime().toString() );
sheet2.addCell(label2);
label2 = new Label( 4 , j , talkInfo.getEndTime().toString() );
sheet2.addCell(label2);
label2 = new Label( 5 , j , talkInfo.getPrice().toString() );
sheet2.addCell(label2);
label2 = new Label( 6 , j , talkInfo.getTotalMoney().toString() );
sheet2.addCell(label2);
label2 = new Label( 7 , j , talkInfo.getDectMobile().toString() );
sheet2.addCell(label2);
if(talkInfo.getActiveBean()==null){
label2 = new Label( 8 , j , null);
}else{
label2 = new Label( 8 , j , talkInfo.getActiveBean().getActiveName().toString());
}
sheet2.addCell(label2);
label2 = new Label( 9 , j , talkInfo.getRemark().toString() );
sheet2.addCell(label2);
j++;
}
// 將定義好的單元格添加到工作表中
book2.write();
book2.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public InputStream getDownloadFile() {
File file = new File("C:\\test.xls");
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return fis;
}
/**
* 查詢所有通話記錄
*
* @param
*
* @return
* String success --> 歡迎頁面 fail --> 錯誤頁面
* @throws IOException
* @throws WriteException
* @throws
* HRException
*/
@SuppressWarnings("unchecked")
public String toexport() throws WriteException, IOException{
this.createExecl();
return "success";
}
struts.xml代碼
<action name="toexport" class="talkAction" method="toexport">
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="test.xls"</param>
<param name="inputName">downloadFile</param>
</result>
<result name="TALKINFO">/talkInfo/talkInfo.jsp</result>
</action>
JSP頁面代碼
<input class="input_back" type="button" name="Submit0" value="導出數據"onclick="location.href='toexport.action'"/></td>

⑸ java 將頁面內容寫入excel文件中並可以將其下載到本地任意位置

java本身要生成excel文件必然是在後台做的,通過poi庫生成excel文件並製作表格。
無法直接通過網頁保存生成excel。
至於下載到本地任意位置,也是後台生成了excel文件發送到前台(瀏覽器),由用戶選擇要存在哪兒,不能直接存儲(這是web沙箱限制,不允許網頁直接訪問本地硬碟,不然你想想,如果你打開一個網頁,網頁代碼可以任意訪問你的硬碟,你還敢開網頁嗎)。
要繞過沙箱限制必須裝插件,也就是,你必須開發一個com或plugin插件,可以訪問本地硬碟,但這需要用戶手工安裝(比如flash的插件,你之所以能用網頁看flash是因為裝了它的插件,但這是你手工裝的,它不能繞過你直接給你裝,它必須詢問你行不行,你要手工點了OK,才能裝)

⑹ 請問下,我想用java實現下載excel表格,思路是先在臨時文件里生成臨時excel文件,但是不知

你的意思是 導出excel表格吧。 導出的時候會創建臨時文件 但是導出後要刪除臨時文件吧

⑺ Java項目如何將下載的excel表格既有中文欄位又有英文欄位

據我猜測你們這個應該是使用統一的導出形式,就是資料庫欄位什麼樣,導出的列名就是什麼樣。如果是這樣的話就要改通用的方法

  1. 給實體類加註解,使用註解給屬性名加別名

  2. 如果是直接從資料庫查出來的可以改sql,sql的每個列都加上別名(你想要的中文名稱)

  3. 公共的方法改的時候要注意不要影響其他人使用

⑻ java excel表格下載,簡單問題,高手幫幫忙,謝謝~!

測試伺服器的安全級別高,調低就行了.

⑼ java中excel下載的文件打不開,提示報錯內存溢出,超過excel最大容量

你是用的什麼框架啊?

⑽ java如何將導出的excel下載到客戶端

packagecom.mr;

importjava.io.IOException;
importjava.io.PrintWriter;

importjavax.servlet.ServletException;
importjavax.servlet.ServletOutputStream;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*利用Servlet導出Excel
*@authorCHUNBIN
*
*/
{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("UTF-8");//設置request的編碼方式,防止中文亂碼
StringfileName="導出數據";//設置導出的文件名稱
StringBuffersb=newStringBuffer(request.getParameter("tableInfo"));//將表格信息放入內存
StringcontentType="application/vnd.ms-excel";//定義導出文件的格式的字元串
StringrecommendedName=newString(fileName.getBytes(),"iso_8859_1");//設置文件名稱的編碼格式
response.setContentType(contentType);//設置導出文件格式
response.setHeader("Content-Disposition","attachment;filename="+recommendedName+""");//
response.resetBuffer();
//利用輸出輸入流導出文件
ServletOutputStreamsos=response.getOutputStream();
sos.write(sb.toString().getBytes());
sos.flush();
sos.close();
}
}
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>導出Excel</title>
<scripttype="text/javascript">
functiontest(){
document.getElementById("tableInfo").value=document.getElementById("table").innerHTML;
}
</script>
<style>
body{font-family:宋體;font-size:11pt}
</style>
</head>
<body>
<formaction="<%=request.getContextPath()%>/servlet/ExportExcelServlet"method="post">
<spanid="table">
<tablebgcolor="#EEECF2"bordercolor="#A3B2CC"border="1"cellspacing="0">
<tr><th>學號</th><th>姓名</th><th>科目</th><th>分數</th></tr>
<tr><td>10001</td><td>趙二</td><td>高數</td><td>82</td></tr>
<tr><td>10002</td><td>張三</td><td>高數</td><td>94</td></tr>
<tr><td>10001</td><td>趙二</td><td>線數</td><td>77</td></tr>
<tr><td>10002</td><td>張三</td><td>線數</td><td>61</td></tr>
</table>
</span><br/>
<inputtype="submit"name="Excel"value="導出表格"onclick="test()"/>
<inputtype="hidden"id="tableInfo"name="tableInfo"value=""/>
</form>
</body>
</html>

以上代碼來自網路:http://jtlyuan.iteye.com/blog/1322097

閱讀全文

與java下載表格相關的資料

熱點內容
體重小本app怎麼樣 瀏覽:777
編程語言需求 瀏覽:935
當兵體重怎麼個演算法 瀏覽:169
加密的電腦文件帶出去怎麼打開 瀏覽:849
死循環會在編譯的時候出錯嗎 瀏覽:986
c51單片機特殊寄存器的原理 瀏覽:578
閃耀永恆特利加密鑰 瀏覽:761
如何誇程序員 瀏覽:781
天津期貨python招聘 瀏覽:266
單片機機器語言寫的程序 瀏覽:553
韓國直播軟體app叫什麼名 瀏覽:920
軍營訓練不聽教官的命令 瀏覽:263
v開頭的音樂播放器是什麼APP 瀏覽:122
單片機是怎麼做出來的 瀏覽:319
博圖怎麼作為opc伺服器 瀏覽:103
編譯做題軟體 瀏覽:298
橋梁檢測pdf 瀏覽:689
化解壓力的一種方法 瀏覽:684
路由器和DSN伺服器有什麼區別 瀏覽:551
android伸縮控制項 瀏覽:861