SSH项目--国税(一)
来源:互联网 发布:jordan 2 wing it 编辑:程序博客网 时间:2024/04/28 07:34
将头像文件保存在服务器的upload/user目录下,文件的名称以uuid重命名。(必须重命名:①重名问题②特殊字符在显示时的问题)
2.批量导入、导出
03,07导入导出测试:
public class TestPOI2Excel {
@Test
public void testWrite03Excel() throwsException {
//1、创建工作簿
HSSFWorkbook workbook = newHSSFWorkbook();
//2、创建工作表
HSSFSheet sheet = workbook.createSheet("helloworld");//指定工作表名
//3、创建行;创建第3行
HSSFRow row = sheet.createRow(2);
//4、创建单元格;创建第3行第3列
HSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");
//输出到硬盘
FileOutputStream outputStream = newFileOutputStream("F:\\A\\测试.xls");
//把excel输出到具体的地址
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
@Test
public void testWrite07Excel() throwsException {
//1、创建工作簿
XSSFWorkbook workbook = newXSSFWorkbook();
//2、创建工作表
XSSFSheet sheet = workbook.createSheet("helloworld");//指定工作表名
//3、创建行;创建第3行
XSSFRow row = sheet.createRow(2);
//4、创建单元格;创建第3行第3列
XSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");
//输出到硬盘
FileOutputStream outputStream = newFileOutputStream("F:\\A\\测试.xlsx");
//把excel输出到具体的地址
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
@Test
public void testRead03Excel() throws Exception{
FileInputStream inputStream = newFileInputStream("F:\\A\\测试.xls");
//1、读取工作簿
HSSFWorkbook workbook = newHSSFWorkbook(inputStream);
//2、读取第一个工作表
HSSFSheet sheet = workbook.getSheetAt(0);
//3、读取行;读取第3行
HSSFRow row = sheet.getRow(2);
//4、读取单元格;读取第3行第3列
HSSFCell cell = row.getCell(2);
System.out.println("第3行第3列单元格的内容为:" +cell.getStringCellValue());
workbook.close();
inputStream.close();
}
@Test
public void testRead07Excel() throws Exception{
FileInputStream inputStream = newFileInputStream("F:\\A\\测试.xlsx");
//1、读取工作簿
XSSFWorkbook workbook = newXSSFWorkbook(inputStream);
//2、读取第一个工作表
XSSFSheet sheet = workbook.getSheetAt(0);
//3、读取行;读取第3行
XSSFRow row = sheet.getRow(2);
//4、读取单元格;读取第3行第3列
XSSFCell cell = row.getCell(2);
System.out.println("第3行第3列单元格的内容为:" +cell.getStringCellValue());
workbook.close();
inputStream.close();
}
@Test
public void testRead03And07Excel() throwsException {
String fileName = "F:\\A\\测试.xlsx";
if(fileName.matches("^.+\\.(?i)((xls)|(xlsx))$")){//判断是否excel文档
boolean is03Excel =fileName.matches("^.+\\.(?i)(xls)$");
FileInputStream inputStream = newFileInputStream(fileName);
//1、读取工作簿
Workbook workbook = is03Excel ?newHSSFWorkbook(inputStream):new XSSFWorkbook(inputStream);
//2、读取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
//3、读取行;读取第3行
Row row = sheet.getRow(2);
//4、读取单元格;读取第3行第3列
Cell cell = row.getCell(2);
System.out.println("第3行第3列单元格的内容为:" +cell.getStringCellValue());
workbook.close();
inputStream.close();
}
}
@Test
public void testExcelStyle() throws Exception{
//1、创建工作簿
HSSFWorkbook workbook = newHSSFWorkbook();
//1.1、创建合并单元格对象;合并第3行的第3列到第5列
CellRangeAddress cellRangeAddress = newCellRangeAddress(2, 2, 2, 4);//起始行号,结束行号,起始列号,结束列号
//1.2、创建单元格样式
HSSFCellStyle style =workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
//1.3、创建字体
HSSFFont font = workbook.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗字体
font.setFontHeightInPoints((short)16);//设置字体大小
//加载字体
style.setFont(font);
//单元格背景
//设置背景填充模式
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//设置填充背景色
style.setFillBackgroundColor(HSSFColor.YELLOW.index);
//设置填充前景色
style.setFillForegroundColor(HSSFColor.RED.index);
//2、创建工作表
HSSFSheet sheet = workbook.createSheet("HelloWorld");//指定工作表名
//2.1、加载合并单元格对象
sheet.addMergedRegion(cellRangeAddress);
//3、创建行;创建第3行
HSSFRow row = sheet.createRow(2);
//4、创建单元格;创建第3行第3列
HSSFCell cell = row.createCell(2);
//加载样式
cell.setCellStyle(style);
cell.setCellValue("Hello World!");
//输出到硬盘
FileOutputStream outputStream = newFileOutputStream("F:\\A\\测试.xls");
//把excel输出到具体的地址
workbook.write(outputStream);
workbook.close();
outputStream.close();
}}
查阅《POI操作excel.doc》先了解POI,使用POI工具类导出用户数据到excel中。
导出:在用户管理页面中点击“导出”,将所有用户记录导出到excel中。
//导出用户列表
public void exportExcel(){
try {
//1、查找用户列表
userList = userService.findObjects();
//2、导出
HttpServletResponse response =ServletActionContext.getResponse();
response.setContentType("application/x-execl");
response.setHeader("Content-Disposition","attachment;filename=" + new String("用户列表.xls".getBytes(),"ISO-8859-1"));
ServletOutputStream outputStream =response.getOutputStream();
userService.exportExcel(userList,outputStream);
if(outputStream != null){
outputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
在userService中将调用导出工具类ExcelUtil导出数据。
public class ExcelUtil {
public static void exportUserExcel(ListuserList, ServletOutputStream outputStream) {
try {
//1、创建工作簿
HSSFWorkbook workbook = newHSSFWorkbook();
//1.1、创建合并单元格对象
CellRangeAddress cellRangeAddress = newCellRangeAddress(0, 0, 0, 4);//起始行号,结束行号,起始列号,结束列号
//1.2、头标题样式
HSSFCellStyle style1 =createCellStyle(workbook, (short)16);
//1.3、列标题样式
HSSFCellStyle style2 =createCellStyle(workbook, (short)13);
//2、创建工作表
HSSFSheet sheet =workbook.createSheet("用户列表");
//2.1、加载合并单元格对象
sheet.addMergedRegion(cellRangeAddress);
//设置默认列宽
sheet.setDefaultColumnWidth(25);
//3、创建行
//3.1、创建头标题行;并且设置头标题
HSSFRow row1 = sheet.createRow(0);
HSSFCell cell1 = row1.createCell(0);
//加载单元格样式
cell1.setCellStyle(style1);
cell1.setCellValue("用户列表");
//3.2、创建列标题行;并且设置列标题
HSSFRow row2 = sheet.createRow(1);
String[] titles = {"用户名","帐号", "所属部门", "性别","电子邮箱"};
for(int i = 0; i < titles.length; i++){
HSSFCell cell2 = row2.createCell(i);
//加载单元格样式
cell2.setCellStyle(style2);
cell2.setCellValue(titles[i]);
}
//4、操作单元格;将用户列表写入excel
if(userList != null){
for(int j = 0; j < userList.size();j++){
HSSFRow row = sheet.createRow(j+2);
HSSFCell cell11 = row.createCell(0);
cell11.setCellValue(userList.get(j).getName());
HSSFCell cell12 = row.createCell(1);
cell12.setCellValue(userList.get(j).getAccount());
HSSFCell cell13 = row.createCell(2);
cell13.setCellValue(userList.get(j).getDept());
HSSFCell cell14 = row.createCell(3);
cell14.setCellValue(userList.get(j).isGender()?"男":"女");
HSSFCell cell15 = row.createCell(4);
cell15.setCellValue(userList.get(j).getEmail());
}
}
//5、输出
workbook.write(outputStream);
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private static HSSFCellStylecreateCellStyle(HSSFWorkbook workbook, short fontSize) {
HSSFCellStyle style =workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
//创建字体
HSSFFont font = workbook.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗字体
font.setFontHeightInPoints(fontSize);
//加载字体
style.setFont(font);
return style;
}
}
添加选择文件按钮:
《input name="userExcel" type="file"/》
《input type="button" value="导入"class="s_button" onclick="doImportExcel()"/》
导入:在用户管理页面中,上传包含用户列表的excel文档,然后点击“导入”将excel中的用户记录插入的用户表中,并显示在列表上。
① UserAction 中接受导入文件
- SSH项目--国税(一)
- SSH项目--国税(二)
- SSH项目--国税(三)
- SSH项目--国税(四)
- SSH项目--国税(五)
- SSH项目--国税(六)
- SSH项目--国税(UML)
- SSH项目--国税(SVN)
- SSH项目--国税(七)
- SSH项目--国税(八)
- SSH项目--国税(九)
- SSH项目--国税(新建项目)
- SSH项目--国税(框架整合)
- 国税系统项目总结(SSH)
- SSH项目--国税(框架整合二)
- 【SSH项目实战】国税协同平台-1.项目介绍
- 【SSH项目实战】国税协同平台-1.项目介绍
- 【SSH项目实战】国税协同平台-1.项目介绍
- Spring3.0新特性
- SSH项目--国税(新建项目)
- Android TextureView 与 SurfaceView用法区别
- SSH项目--国税(框架整合)
- SSH项目--国税(框架整合二)
- SSH项目--国税(一)
- Spring boot -- 入门
- POI专题
- Problem B. Beautiful Numbers Google APAC 2017 University Test Round E
- SSH项目--国税(二)
- SSH项目--国税(三)
- git的相关操作
- Centos6.5服务器环境搭建之安装Nginx以及Https访问方式的配置
- SSH项目--国税(四)