基于struts2解析前端传入的Excel文档中的内容(小白篇)

基于struts2解析前端提交的Excel文档(小白篇)

首先看向前端
写一个最基础的form表单传入一个Excel文件

		<form action = "../agent/agent.test.receiveExcel.action"  enctype="multipart/form-data" method = "post" onsubmit = "return true" >
   			 选择文件:
    	<input  type="file" id="activityFile" name="activityFile"/>
		<button id="dowmloadExcel" type="button" onclick="downLoadExcel();"><i class="fa fa-repeat"></i>下载模板</button>
		<input type = "submit" value = "提交">
		</form>

这就是这个表单运行出来的结果
在这里插入图片描述
有一个模板下载按钮,可以下载需要的Excel模板,在我前边的博文中有提到过此方法。然后就是普通的文件上传功能,在此可以上传各种文件,但是这次我们只上传Excel文件并解析出来。

注意form表单中 ***enctype=“multipart/form-data”***这个字段不能少 用于发送文件到后端的必须条件。然后就是注意from表单中传输文件的input中的名称。

然后就是通过struts2自动接收来自前端传来的文件。
接口:

	//首先声名一个文件 和 文件的名称
	private File activityFile;
	private String activityFileFileName;
	
	public File getActivityFile() {
		return activityFile;
	}
	public void setActivityFile(File activityFile) {
		this.activityFile = activityFile;
	}
	public String getActivityFileFileName() {
		return activityFileFileName;
	}
	public void setActivityFileFileName(String activityFileFileName) {
		this.activityFileFileName = activityFileFileName;
	}
	//然后写一个方法用于接收传来的Excel表格
	public  void  ExcelAnalysis() throws IOException{
		//在Struts中可以直接用文件的名称通过IO流去解析到对应的文件
		InputStream inputStream = new FileInputStream(activityFile);
		//struts解析前端传来的Excel 表格
		XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
		//取得第Sheet中第一个数据表
		XSSFSheet sheet = workbook.getSheetAt(0);
		//判断开头不能为空的
		if(sheet.getPhysicalNumberOfRows() != 0) {
			//遍历每一行
			for(int i = 1; i<sheet.getPhysicalNumberOfRows();i++) {
			//取得某一行
			XSSFRow row = sheet.getRow(i);
			//这一行的每一列遍历出来
			for(int j = 0 ; j<row.getPhysicalNumberOfCells(); j++){
			String str= row.getCell(j).toString();
			System.out.print(str + " "); //依次打印在控制台
			}
			System.out.println(); //注意换行
		}

这是适用于小白的struts的一篇博文,如果您有什么问题或者建议可直接留言讨论,欢迎指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值