jsp中excel文件的创建与读取

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
1 .创建excel文件<br> //这里的jxl不是java的标准jar包,需要在项目中另外加载
import  jxl.Workbook; 
import  jxl.write.Label; 
import  jxl.write.WritableSheet; 
import  jxl.write.WritableWorkbook; 
   
public  class  ExcelDownload  extends  HttpServlet { 
   
     public  void  doGet(HttpServletRequest request, HttpServletResponse response) 
             throws  ServletException, IOException { 
   
         // 生成xls 
         try 
             Date d =  new  Date(); 
             SimpleDateFormat sdf =  new  SimpleDateFormat( "yyyyMMdd_kkmmss " ); 
             String random = sdf.format(d); 
             String targetFile = random +  ".excel"
             response.setContentType( "application/vnd.ms-excel" ); 
             response.addHeader( "Content-Disposition"
                     "attachment;   filename=\""  + targetFile +  "\"" ); 
             OutputStream os = response.getOutputStream(); 
             WritableWorkbook wwb = Workbook.createWorkbook(os); 
             // 新建一张表 
             WritableSheet wsheet = wwb.createSheet( "record" 0 ); 
             // 设置表头 
             Label label =  new  Label( 0 0 "" ); 
             wsheet.addCell(label); 
             label =  new  Label( 0 0 "会员姓名" ); 
             wsheet.addCell(label); 
             label =  new  Label( 1 0 "卡号" ); 
             wsheet.addCell(label); 
             label =  new  Label( 2 0 "联系地址" ); 
             wsheet.addCell(label); 
             label =  new  Label( 3 0 "邮编" ); 
             wsheet.addCell(label); 
             label =  new  Label( 4 0 "联系电话" ); 
             wsheet.addCell(label); 
             label =  new  Label( 5 0 "手机" ); 
             wsheet.addCell(label); 
             label =  new  Label( 6 0 "Email" ); 
             wsheet.addCell(label); 
             label =  new  Label( 7 0 "性别" ); 
             wsheet.addCell(label); 
   
             wwb.write(); 
             wwb.close(); 
             os.close(); 
             response.flushBuffer(); 
   
         catch  (Exception e) { 
             System.out.println( "生成信息表(Excel格式)时出错:" ); 
             e.printStackTrace(); 
        
   
    
}

2.读取excel文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import  java.io.*;
import  jxl.*;
public  class  ReadExcel
{
public  static  void  main(String[] args)
{
try {
Workbook book=Workbook.getWorkbook( new  File( "c:\test.xls" ));
//获得第一个工作表对象
Sheet sheet=book.getSheet( 0 );
//得到第2行第1列的单元格
Cell cell1=sheet.getCell( 0 , 1 );
String result=cell1.getContents();
System.out.println(result);
book.close();
}
catch (Exception e){
System.out.println(e);
}
}
}

3.修改excel文件,执行结果是在原有文件中加入了一个新的工作表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import  java.io.*;
import  jxl.*;
import  jxl.write.*;
public  class  UpdateExcel
{
  
  public  static  void  main(String[] args)
{
   try   {
    //获得Excel文件
    Workbook wb=Workbook.getWorkbook( new  File( "c://test.xls" )); 
    //打开一个文件的副本,并且指定数据写回到原文件
    WritableWorkbook book=
    Workbook.createWorkbook( new  File( "c://test.xls" ),wb); 
    //添加一个工作表eet,在第一行第一列填写内容
    WritableSheet sheet=book.createSheet( "第二页" , 1 );
    sheet.addCell( new  Label( 0 , 0 , "http://www.sunleap.com" )); 
    book.write();
    book.close();
   } catch (Exception e){
    System.out.println(e);
   }
   System.out.println( "操作结束!" );
   
  }
}

详细使用,请参考jxl的api文档

 本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3617973.html,如需转载请自行联系原作者

相关文章
|
26天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
29 6
按条件将Excel文件拆分到不同的工作表
|
25天前
|
Python
批量将不同的工作簿合并到同一个Excel文件
本文介绍如何使用Python的`pandas`库批量合并不同工作簿至同一Excel文件。通过模拟生成三个班级的成绩数据,分别保存为Excel文件,再将这些文件合并成一个包含所有班级成绩的总成绩单。步骤包括安装必要库、生成数据、保存与合并工作簿。
37 6
|
25天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。
38 6
|
1月前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
32 1
|
1月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
76 4
|
2月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
117 6
|
2月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
2月前
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
262 16
|
2月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
147 2
|
3月前
R Excel 文件
Excel 格式的文件主要是 xls 或 xlsx,这两种文件可以在 R 语言中导入 xlsx 库来实现直接的读取。
71 23