国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用EasyExcel導(dǎo)入、根據(jù)模板下載(附前后端代碼)

這篇具有很好參考價值的文章主要介紹了使用EasyExcel導(dǎo)入、根據(jù)模板下載(附前后端代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

easyexcel模板下載,javascript,ajax,前端

easyexcel模板下載,javascript,ajax,前端

easyexcel模板下載,javascript,ajax,前端

easyexcel模板下載,javascript,ajax,前端

使用以上導(dǎo)包如果報錯?NoClassDefFoundError,可能需要引入cglib包

easyexcel模板下載,javascript,ajax,前端

?1、excel的導(dǎo)入

前端代碼:

:easyexcel模板下載,javascript,ajax,前端

由于前端type="file"的樣式固定,可以隱藏input,通過其他按鈕點擊觸發(fā)上傳,用戶上傳文件后input的值發(fā)生變化觸發(fā)change事件調(diào)用ajax

	$('#fileId').change(function(){
			//獲取用戶上傳文件
			var files = $('#fileId')[0].files
			var i_type = 0;
			//定義傳參格式
			var data = new FormData();
			data.append('avatar', files[0]);
			data.append('i_type',i_type);
			$.ajax({
				url: cp + 'mgt/depotwares/import.do',
				type: 'POST',
				data: data,
				cache: false,
				processData: false,
				contentType: false,
				success:function (data) {
					var result = JSON.parse(data);
					$("#fileId").val('');
					if(result.s_code == "000000"){
						var sucess = result.o_data[0]
						var fail = result.o_data[1]
					layer.confirm(("導(dǎo)入成功! 成功:"+sucess+",失敗:"+fail),{
						btn: ['關(guān)閉','下載失敗信息'] //按鈕
					}, function(){//是
						layer.closeAll();
					},function(){//
						let downloadurl="http://localhost:8081/fhxhcps//mgt/depotwares/downloadfail.do";
						let label = $("<a>");
						label.prop("href",downloadurl);
						$("body").append(label)
						label[0].click();
						label.remove();
					});
					}else{
						layer.msg(result.s_msg)
					}
				}
			});

		});

?后端代碼:

controller層接收

	public void WaresBatchUpdate(HttpServletRequest request,
								 HttpServletResponse response,
								 @RequestParam(required = false, value = "avatar") MultipartFile filename,
								 HttpSession session,  Model model,String i_type) throws IOException

?實現(xiàn)類:

	ResultMap resMap = new ResultMap();
		//更新條數(shù)結(jié)果返回
		List list = new ArrayList();
		//記錄所有excel數(shù)據(jù)
		List lists = new ArrayList();
		//用于寫入保存失敗數(shù)據(jù)
		List<ExcelVO> failList = new ArrayList();
		List<PvdSettleVO> pvdfailList = new ArrayList<>();
		List<IWaresVO> iWaresList = new ArrayList<>();
		//記錄成功條數(shù)
		int sucess = 0;
		//記錄失敗條數(shù)
		int fail = 0;
		//判斷當前修改稅務(wù)編碼還是供應(yīng)商
		Workbook workbook = null;

  Properties properties = PropertiesUtil.load("pdf_config/exportPdf.properties");
        String wordGenerDir = properties.getProperty("excel.taxno.savepath");
        String name = Str(userMap.get("s_name"),"");
        String sUser = Str(userMap.get("s_user"),"");
        Date now = new Date();
        SimpleDateFormat outFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        String time = outFormat.format(now);
        String newFile = name+sUser+"DT"+time +file.getOriginalFilename();
        String path2 = wordGenerDir+newFile;

        ResultMap resMap = new ResultMap();
        File foler = null;
        // 讀取excel文件
        FileInputStream in = null;
        // 獲取工作簿
        Workbook workbook = null;
        //獲取路徑
        foler = new File(path2);
        String path = foler.getAbsolutePath();
        String filetype = path.substring(path.lastIndexOf("."));

        try {

            file.transferTo(foler);
            File dest = new File(path);
            in = new FileInputStream(path);
            if (!foler.getParentFile().exists()) {
                //創(chuàng)建
                foler.getParentFile().mkdirs();
            }
            if (filetype.equals(".xls")) {
                workbook = new HSSFWorkbook(in);
            } else if (filetype.equals(".xlsx")) {
                workbook = new XSSFWorkbook(in);
            } else {
                resMap.setS_code(Constants.RES_MSG_ERROR);
                resMap.setS_msg("文件類型必須是xls或xlsx:" + file.getOriginalFilename());
                dest.delete();
                return resMap;
            }
        }catch (Exception e){
            System.out.println("文件異常");
        }finally {
            try {
                if (in != null) {
                    in.close();
                }
                if (workbook != null) {
                    workbook.close();
                }

            } catch (IOException e) {
                resMap.setS_msg("關(guān)閉流失敗");
            }
        }
        try {
			//獲取sheet1
			Sheet sheet = workbook.getSheetAt(0);
			//獲取表中內(nèi)容
			int rowCount = sheet.getPhysicalNumberOfRows();
			for (int rowNum = 1; rowNum < rowCount; rowNum++) {
				String value1 = "";
				String value2 = "";
				String value3 = "";
				Row rowData = sheet.getRow(rowNum);
				Map map = new HashMap();
				if (rowData != null) {
					Cell cell1 = rowData.getCell(0);
					Cell cell2 = rowData.getCell(1);
					Cell cell3 = rowData.getCell(2);
					value1 = ExcelUtils.getCellValue(cell1);
					value2 = ExcelUtils.getCellValue(cell2);
					value3 = ExcelUtils.getCellValue(cell3);
					map.put("col1", value1);
					map.put("col2", value2);
					map.put("col3", value3);
					lists.add(map);
				}
			}


				//excel寫入未導(dǎo)入成功信息
                    //repath即為存放文件路徑(絕對路徑+名稱)
					ExcelWriterBuilder write = EasyExcel.write(repath);
					ExcelWriterSheetBuilder sheet1 = write.sheet();
					sheet1.doWrite(failList);

2.Excel的模板下載

這里用的是在本地下載文件,指定一個文件路徑創(chuàng)建excel模板,通過流的方式直接下載文章來源地址http://www.zghlxwxcb.cn/news/detail-616350.html

前端代碼:直接通過訪問接口方式建立下載鏈接

$("#downloadWare").click(function () {
			$.ajax({
				url: cp + 'mgt/depotwares/downloadWareTemplete.do',
				method: 'get',
				type:"application/vnd.ms-excel",
				responseType:"blob",
				success: function(data){
					let downloadurl="http://localhost:8081/depotwares/downloadWareTemplete.do";
					let label = $("<a>");
					label.prop("href",downloadurl);
					$("body").append(label)
					label[0].click();
					label.remove();
					layer.msg("下載成功")
				}
			})
		})

后端代碼:

try {
				// path是指下載的文件的路徑。
				File file = new File(ExcelUtils.getFolerPath());
				// 取得文件名。
				String filename = file.getName();
				// 以流的形式下載文件。
				InputStream fis = new BufferedInputStream(new FileInputStream(ExcelUtils.getFolerPath()));
				byte[] buffer = new byte[fis.available()];
				fis.read(buffer);
				fis.close();
				// 清空response
				response.reset();
				// 設(shè)置response的Header
			if(request.getHeader("user-agent").toLowerCase().indexOf("firefox")>-1){
				response.setHeader("Content-Disposition","attachment;filename=" +new String(filename.getBytes("utf-8"),"ISO-8859-1"));
			}else {
				response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "utf-8"));
			}
				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 (Exception e) {
			response.reset();
			response.setContentType("application/json");
			response.setCharacterEncoding("utf-8");
			resMap.setS_code(Constants.RES_CODE_ERROR);
			resMap.setS_msg(Constants.RES_MSG_ERROR);
	
		}

到了這里,關(guān)于使用EasyExcel導(dǎo)入、根據(jù)模板下載(附前后端代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【前端】Vue中引入excel模板并下載以及XLSX使用

    模板存放位置 src/assets/excelTemplate/模板.xls 安裝模塊包 新增配置,在vue.config.js中,自己比較一下,最后一段新增的chainWebpack 即可將模板下載到本地 我使用XLSX的場景,在我上傳excel的時候,我需要獲取它的表頭以及里面的數(shù)據(jù)進行渲染到表格中,在我編輯的時候需要請求Exce

    2024年02月21日
    瀏覽(31)
  • 2023版IDEA的下載、安裝、配置、快捷鍵、模板、插件與使用

    2023版IDEA的下載、安裝、配置、快捷鍵、模板、插件與使用

    ?? 為什么會有這篇教程: 熟悉 IDEA 并能靈活熟練使用 IDEA 能極大提高您的開發(fā)效率!?。??? 本文教程基于當前 idea 的最新版本 2023.2.2 。 ?? 本文教程的所有操作圖片均是實操測試截圖或 gif 動態(tài)演示,合計 314 張圖片,呈現(xiàn)的截圖使用的 IDEA 的 Dark 主題。 ?? 您的任何設(shè)

    2024年02月08日
    瀏覽(23)
  • 服務(wù)器端模板引擎art-template的下載和使用

    art-lemplate是新一代高性能JavaScript模板引擎,它可以將數(shù)據(jù)與HTML模板更加友好地結(jié)合起來,省去煩瑣的字符串拼接,使代碼更易于維護。 art-template模板引擎既可以在服務(wù)器端使用,也可以在瀏覽器端使用。此處僅講解art-template模板引擎在服務(wù)器端的使用。art-template模板引擎的

    2024年02月08日
    瀏覽(19)
  • IDEA2022版教程上(下載、卸載、安裝、新建Project、jdk設(shè)置、詳細設(shè)置、新建/導(dǎo)入/刪除普通java模塊、修改模塊名、同時打開多個工程、常用代碼模板:非空判斷,遍歷,輸出語句快捷鍵)

    IDEA2022版教程上(下載、卸載、安裝、新建Project、jdk設(shè)置、詳細設(shè)置、新建/導(dǎo)入/刪除普通java模塊、修改模塊名、同時打開多個工程、常用代碼模板:非空判斷,遍歷,輸出語句快捷鍵)

    初學(xué)Java語言,熟悉了記事本、EditPlus、NotePad++或Sublime Text3等簡易開發(fā)工具的Java初學(xué)者 熟練使用其他Java集成開發(fā)環(huán)境(IDE),需要轉(zhuǎn)向IDEA工具的Java工程師們 關(guān)注IDEA各方面特性的Java程序發(fā)燒友、愛好者 【注】JetBrains官方說明: 盡管我們采取了多種措施確保受訪者的代表性

    2024年02月07日
    瀏覽(103)
  • .net core使用Html模板轉(zhuǎn)PDF文件并下載的業(yè)務(wù)類封裝

    前言:我這里文件下載的模板選型優(yōu)先考慮html模板,上手容易,前后端通用,有了模板后就需要有轉(zhuǎn)換了,html轉(zhuǎn)PDF采用第三方包:DinkToPdf(1.0.8),下面是代碼核心類: ? 重點:html轉(zhuǎn)PDF的三方包有很多,我目前采用的是支持跨平臺(windows和linux)的包源:DinkToPdf,這里提一嘴

    2024年02月09日
    瀏覽(33)
  • JAVA使用POI對Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    JAVA使用POI對Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    需求:需要上傳一個帶有占位符的模板至數(shù)據(jù)庫保存,然后解析模板的占位符,通過類計算結(jié)果替換模板中的占位符,并且保存至本地 難點:1.由于我數(shù)據(jù)庫保存是本地保存,并沒有path 所以獲取模板的path是個難點 2.如何使用計算類,由于我的類是和占位符綁定的,什么樣的

    2024年02月16日
    瀏覽(28)
  • 免費ppt模板下載的網(wǎng)站推薦

    免費ppt模板下載的網(wǎng)站推薦

    推薦一個免費ppt模板下載的網(wǎng)站 布丁花網(wǎng)_背景圖片素材免費下載的網(wǎng)站 (budinghua.com) 這個網(wǎng)站PPT素材模板很多,也有課件、背景等素材,風(fēng)格類型也很多,商務(wù)風(fēng)、中國風(fēng)、卡通風(fēng)、簡約風(fēng)這里都能找到。重點是全部都能免費下載,無需注冊。 網(wǎng)站不僅有ppt模板免費下載,

    2024年02月11日
    瀏覽(95)
  • Java下載excel模板文件

    Java下載excel模板文件

    最近做了一個導(dǎo)入Excel的功能,需求: 先提供一個下載Excel模板的功能。 用戶下載好模板后,可以在模板文件當中填寫要上傳的內(nèi)容,填寫完過后再進行導(dǎo)入Excel,然后將用戶填寫的數(shù)據(jù)保存到數(shù)據(jù)庫當中。 1.將模板放到resources目錄下,盡量創(chuàng)建一個專門的文件夾來存放模板

    2024年02月15日
    瀏覽(97)
  • 下載IEEE期刊Latex模板步驟

    下載IEEE期刊Latex模板步驟

    Google或百度檢索想要下載什么期刊的Latex模板,或直接在IEEE官網(wǎng)IEEE Xplore搜索期刊名稱,下面以TASE,IEEE Transactions on Automation Science and Engineering期刊為例。 1.進入TASE期刊的主頁 ,這里可以看到期刊的主編信息,點擊 Submission Guidelines 2.在搜索框輸入templates,選擇 IEEE Article Tem

    2023年04月24日
    瀏覽(99)
  • .net core使用Html模板轉(zhuǎn)PDF文件并下載的業(yè)務(wù)類封裝_基于DinkToPdf_跨平臺_windows+linux

    前言:我這里文件下載的模板選型優(yōu)先考慮html模板,上手容易,前后端通用,有了模板后就需要有轉(zhuǎn)換了,html轉(zhuǎn)PDF采用第三方包:DinkToPdf(1.0.8),下面是代碼核心類: ? 重點:html轉(zhuǎn)PDF的三方包有很多,我目前采用的是支持跨平臺(windows和linux)的包源:DinkToPdf,這里提一嘴

    2024年02月09日
    瀏覽(128)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包