中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
文件下載-excel導(dǎo)出-我們到底能走多遠系列(22)

文件下載-excel導(dǎo)出-我們到底能走多遠系列(22)

我們到底能走多遠系列(22)

扯淡:老規(guī)矩,先扯淡,老實說,過年就是回家在親戚面前吹吹牛喝喝酒,再聽聽別人的牛,然后回來繼續(xù)苦逼....  

  所以不是你把別人吹倒,就是別人把你吹倒,大家要加油吹哦!

-----------------------------------------

最近很多人糾結(jié)自己文章被別人抄襲的事。

我一直想不明白:自己寫的博客被人抄襲,甚至當成別人的原創(chuàng)這種情況對自己有多大的傷害?

我不明白:除了自己虛榮心上的一點挫折,其他損失還有多少呢?除了部分惡意的抄襲行為,的確要反對外。

我覺得:一個分享的行為,被放大,被傳播,本來就是一件很nice,很cool的事。

我個人也會轉(zhuǎn)文章,一般文章署名了,我也會會復(fù)制過來,沒寫的我也懶的一個個標記好是從哪里復(fù)制來的了,但是有一點是肯定的,雖然是復(fù)制粘貼的幾秒鐘,我是感謝作者的,至少我會傾佩他幾秒,我覺得他教給我一些東西,無形的東西,但卻可能有價值。


為什么要糾結(jié)別人對你文章的復(fù)制粘貼呢?

當你把一些思考,總結(jié),經(jīng)驗貼到自己的博客后。一個月后在另一個博客上看到了自己文章,難道這件事反而會讓各位生氣嗎?這在博客園里應(yīng)該是件快樂的事情吧,想想自己文章被人反復(fù)閱讀,并被記錄下來,成為別人思想的一部分,這是多么有趣的一件事??!
到了這里卻被看成是有點罪惡感的事了。


寫博客正真的收獲的是什么?

1,寫的時候自己的思考

2,寫完后自己對自己文章的閱讀重新思考

3,別人看了你的文章的反饋,然后你就可以再進行擴展思考。

整一個過程就是不斷的促使自己思考的過程。只要這個過程還能促使你思考,寫這篇博客就是有價值的,至少對自己是有的。

 

所以我個人覺得,還是不要太糾結(jié)別人的什么抄襲這種事,別人抄襲你只能代表別人覺得這篇博客有幫到他,覺得你不錯,是吧。

 

主題:

1,下載文件

文件躺在服務(wù)器的某個文件夾下,頁面點擊下載,將文件保存到本地的過程:

action用springmvc實現(xiàn):

public ModelAndView downloadModelForm(HttpServletRequest request, HttpServletResponse response) throws Exception{        response.setContentType("application/octet-stream");          String fileName = "用戶申請表.docx";        String path = request.getSession().getServletContext().getRealPath(BusinessConstants.DOWNLOAD_FILE_PATH + fileName);                  File file = new File(path);                  // 清空response             response.reset();                     if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){           fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");//firefox瀏覽器       }       else{           fileName = URLEncoder.encode(fileName, "UTF-8");//其他瀏覽器包括IE瀏覽器和google瀏覽器       }              // 設(shè)置response的Header         response.addHeader("Content-Disposition", "attachment;filename="+  fileName);         response.addHeader("Content-Length", ""+file.length());                       try{              //以流的形式下載文件              InputStream fis = new BufferedInputStream(new FileInputStream(path));              byte[] buffer = new byte[fis.available()];              fis.read(buffer);              fis.close();                            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());              toClient.write(buffer);              toClient.flush();              toClient.close();          }catch(Exception e){              e.printStackTrace();          }          return null;    }

特別要注意的是代碼是哦那個對fileName 編碼邏輯,根據(jù)不同瀏覽器來實現(xiàn)不同的編碼,這樣做是為了在輸出文件名時可以使用中文名。

測試對firefox,ie8,谷歌通過,可用。如果不做操作,結(jié)果是文件名使用中文的話會出現(xiàn)亂碼問題。(可能這只是一種解決方案,如果你有更好的解決方式,請告訴我哦)

 

2,導(dǎo)出excle文件:

導(dǎo)出的是賬單表的內(nèi)容,數(shù)據(jù)需要先去數(shù)據(jù)庫中取的,組裝成excel。

這里使用最新的pio3.9(開源項目),來完成excel的導(dǎo)出:

service層的方法:組裝出一個完整內(nèi)容的HSSFWorkbook

    public HSSFWorkbook export(List<Sale> list) {        HSSFWorkbook wb = new HSSFWorkbook();        HSSFSheet sheet = wb.createSheet(BusinessConstants.EXCEL_SHEET_NAME);        HSSFRow row = sheet.createRow((int) 0);        HSSFCellStyle style = wb.createCellStyle();        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);        String[] excelHeader = BusinessConstants.EXCEL_HEADER;        for (int i = 0; i < excelHeader.length; i++) {            HSSFCell cell = row.createCell(i);            cell.setCellValue(excelHeader[i]);            cell.setCellStyle(style);                        sheet.autoSizeColumn(i);        }        SimpleDateFormat sdf = new SimpleDateFormat(BusinessConstants.DATE_FORMAT);        for (int i = 0; i < list.size(); i++) {            row = sheet.createRow(i + 1);            Sale sale = list.get(i);            row.createCell(0).setCellValue(sdf.format(sale.getTime()));            //setCellValue方法參數(shù)不能是null,會導(dǎo)致異常,所以對每一個內(nèi)容進行必要的檢查            if(sale.getStrType() == null){                row.createCell(1).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(1).setCellValue(sale.getStrType());            }                        if(sale.getStrPayType() == null){                row.createCell(2).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(2).setCellValue(""+sale.getStrPayType());            }                             if(sale.getAmount() == null){                row.createCell(3).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(3).setCellValue(sale.getAmount());            }                            if(sale.getProductNum() == null){                row.createCell(4).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(4).setCellValue(sale.getProductNum());            }                        if(sale.getProductValid() == null){                row.createCell(5).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(5).setCellValue(sale.getProductValid());            }                        if(sale.getProductName() == null){                row.createCell(6).setCellValue(BusinessConstants.STRIKE);            }else{                row.createCell(6).setCellValue(sale.getProductName());            }                    }        return wb;    }

 

action層的代碼:

    public ModelAndView downloadBill(HttpServletRequest request, HttpServletResponse response) throws IOException {        User user = (User) request.getSession().getAttribute("user");        List<Sale> saleList = accountService.getSale(user.getId(), null, null, 0);        HSSFWorkbook wb = accountService.export(saleList);                // 清空response          response.reset();          String fileName = "";        if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){            fileName = new String(BusinessConstants.EXCEL_FILE_NAME.getBytes("UTF-8"), "ISO8859-1");//firefox瀏覽器        }        else{            fileName = URLEncoder.encode(BusinessConstants.EXCEL_FILE_NAME, "UTF-8");//其他瀏覽器包括IE瀏覽器和google瀏覽器        }            response.setContentType("application/vnd.ms-excel");//Office2003        response.setHeader("Content-disposition", "attachment;filename="+fileName);        OutputStream ouputStream = response.getOutputStream();        wb.write(ouputStream);        ouputStream.flush();        ouputStream.close();        return null;    }

同樣的我們需要對fileName進行編碼上的設(shè)置,以使可以正常使用中文名。

如果進行操作,效果可能是這樣的:

 

導(dǎo)出效果:

 

以上,希望能幫到你。

 

各位,新年快樂!

 

讓我們繼續(xù)前行

----------------------------------------------------------------------

努力不一定成功,但不努力肯定不會成功。
共勉。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSP生成EXCEL文件
使用NPOI導(dǎo)出數(shù)據(jù)庫到Excel文件 - ゞ追憶o0ゞ - 博客園
poi后臺導(dǎo)出excel
C# .NET 使用 NPOI 生成 .xlsx 格式 Excel
Java導(dǎo)出百萬級數(shù)據(jù)到Excel中
如何高效率的導(dǎo)出 Excel
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服