一.文件上传
前台:通过form表单的方式提交同步请求
后台:
mvc的配置文件:配置文件上传的解析器
<!-- 配置文件上传的解析器-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传文件的编码类型-->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 上传文件的总大小-->
<property name="maxUploadSize" value="5242800"></property>
<!-- 上传单个文件的大小-->
<property name="maxUploadSizePerFile" value="5242800"></property>
</bean>
controller层:
解析excel文件
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class ParseExcelTest {
public static void main(String[] args) throws IOException {
//根据excel文件生成HSSFWorkbook对象,封装了excel文件的所有信息
InputStream is = new FileInputStream("");
HSSFWorkbook wb = new HSSFWorkbook(is);
//根据wb获取HSSFSheet对象,封装一页的所有信息
HSSFSheet sheetAt = wb.getSheetAt(0);//页的下标,下标从0开始,依次增加
HSSFRow row = null;
HSSFCell cell = null;
//根据sheet获取HSSFRow对象,封装了一行的所有信息
for (int i=0;i<=sheetAt.getLastRowNum();i++){//sheetAt.getLastRowNum():最后一行的下标
row = sheetAt.getRow(i);//行的下标,下标从0开始,依次增加
//根据row获取HSSFCell对象,封装了一列的所有信息
for(int j=0;j<row.getLastCellNum();j++){//row.getLastCellNum():最后一列的下标+1
cell = row.getCell(j);
//获取列中的数据
if (cell.getCellType()==HSSFCell.CELL_TYPE_STRING){
System.out.print(cell.getStringCellValue()+" ");
}else if (cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
System.out.print(cell.getNumericCellValue()+" ");
}else if (cell.getCellType()==HSSFCell.CELL_TYPE_FORMULA){
System.out.print(cell.getCellFormula()+" ");
}else if (cell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
System.out.print(cell.getBooleanCellValue()+" ");
}else {
System.out.print(""+" ");
}
}
//每一行都打印完了就换行
System.out.println();
}
}
}