简单的 I/O读写 001

创建一个xls文件,并写入内容

 1 public void doPost(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3
 4         try{
 5             request.setCharacterEncoding("utf-8");
 6             response.setCharacterEncoding("utf-8");
 7             response.setContentType("text/html");
 8             //1. 获取目标文件路径
 9             String targerPath = "d:" + File.separator + "Jxl01.xls";
10             //2. 根据1获取的路径,创建一个可以写入的工作簿
11             WritableWorkbook workbook = Workbook.createWorkbook(new File(targerPath));
12             //3. 为2创建的工作簿创建sheet表,名字为‘第一页’,索引从‘0’开始
13             WritableSheet sheet = workbook.createSheet("第一页", 0);
14             //4. 为3表创建Label,例(第一列,第一行,姓名)(第一列,第二行,张三)
15             Label label = new Label(1, 1, "姓名");
16             Label labe2 = new Label(2, 1, "年龄");
17             Label labe3 = new Label(3, 1, "职业");
18             Label labe4 = new Label(1, 2, "张三");
19             Label labe5 = new Label(2, 2, "18");
20             Label labe6 = new Label(3, 2, "学生");
21             //5. 将4.Label对象加入到3表对应的单元格中
22             sheet.addCell(label);
23             sheet.addCell(labe2);
24             sheet.addCell(labe3);
25             sheet.addCell(labe4);
26             sheet.addCell(labe5);
27             sheet.addCell(labe6);
28             //6. 在2工作簿中写入
29             workbook.write();
30             //7. 关闭工作簿
31             workbook.close();
32
33             PrintWriter out = response.getWriter();
34             out.print("插入成功");
35         } catch(Exception e) {
36             e.printStackTrace();
37         }
38
39     }

读取xls文件中表中的内容

 1 public void doPost(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3
 4         try{
 5             request.setCharacterEncoding("utf-8");
 6             response.setCharacterEncoding("utf-8");
 7             response.setContentType("text/html");
 8             PrintWriter out = response.getWriter();
 9             // 1.获取目标文件路径
10             String targerPath = "d:" + File.separator + "Jxl01.xls";
11             // 2.获取目标路径的文件
12             Workbook book = Workbook.getWorkbook(new File(targerPath));
13             // 3.获取目标文件中指定的表(索引从0开始)
14             Sheet sheet = book.getSheet(0);
15             // 4.将表中字段与其对应的内容组合成Jeson格式
16             StringBuffer sb = new StringBuffer();
17             sb.append("{");
18             // 行循环
19             for( int i=1; i<sheet.getRows(); i++) {
20                 // 列循环
21                 for(int j=1; j<sheet.getColumns(); j++) {
22                     String key = sheet.getCell(j,1).getContents();
23                     String value = sheet.getCell(j,2).getContents();
24                     sb.append(" \""+key+"\" : \""+value+"\", ");
25                     sb.append("");
26                 }
27             }
28             sb.deleteCharAt(sb.length()-1);
29             sb.append("}");
30             // 5.关闭工作簿
31             book.close();
32             out.print(sb.toString());
33         } catch( Exception e){
34             e.printStackTrace();
35         }
36
37     }

页面

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6
 7     <title>带键值的Excel数据导入导出</title>
 8
 9     <meta http-equiv="pragma" content="no-cache">
10     <meta http-equiv="cache-control" content="no-cache">
11     <meta http-equiv="expires" content="0">
12     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
13     <meta http-equiv="description" content="This is my page">
14     <!--
15     <link rel="stylesheet" type="text/css" href="styles.css">
16     -->
17     <script type="text/javascript" src ="${pageContext.request.contextPath }/js/jquery-1.11.1.js"></script>
18     <script type="text/javascript">
19         var xmlHttpRequest = null;
20         function getXmlHttpRequest(){
21             if(window.XMLHttpRequest) {
22                 xmlHttpRequest = new XMLHttpRequest();
23             } else {
24                 xmlHttpRequest = new ActiceXOject("Microsofit,XMLHTTP");
25             }
26         }
27
28         function ajaxRequyest1(){
29             getXmlHttpRequest();
30             if(xmlHttpRequest) {
31                 xmlHttpRequest.open("post","../Jxl01Servlet",true);
32                 xmlHttpRequest.onreadystatechange = CallBack1;
33                 xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
34                 xmlHttpRequest.send();
35             }
36         }
37
38         function CallBack1() {
39             if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200 ){
40                 var result = xmlHttpRequest.responseText;
41                 alert(result);
42             }
43         }
44
45         /******************************************************************************************/
46
47         function ajaxRequyest2(){
48             getXmlHttpRequest();
49             if(xmlHttpRequest) {
50                 xmlHttpRequest.open("post","../OJxl01Servlet",true);
51                 xmlHttpRequest.onreadystatechange = CallBack2;
52                 xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
53                 xmlHttpRequest.send();
54             }
55         }
56
57         function CallBack2() {
58             if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200 ){
59                 var result = xmlHttpRequest.responseText;
60                 alert(result);
61             }
62         }
63
64         $(function(){
65             $("#InputEmpbtn").click(function(){
66                 ajaxRequyest1();
67             });
68             $("#ExputEmpbtn").click(function(){
69                 ajaxRequyest2();
70             });
71         })
72     </script>
73   </head>
74
75   <body>
76     <input id="InputEmpbtn" type="button" value="员工导入" />
77     <input id="ExputEmpbtn" type="button" value="员工导出" />
78   </body>
79 </html>
时间: 2024-10-10 14:24:35

简单的 I/O读写 001的相关文章

【造轮子】打造一个简单的万能Excel读写工具

大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式操作?来~,喜欢用lambda(虽然java的比较蛋疼~),来~看这个~ 哈哈,如果你用的不是java8~~没问题,那就默默地用老方式匿名类来实现这些功能吧,但是这并不妨碍您的使用哈哈~~~ 更新多次~希望大家也能够集思广益~ github地址:https://github.com/MatrixSe

【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级

文件重定向 #include<iostream> using namespace std; void main() { char str[30] = { 0 }; cin >> str; cout << str; system(str); cerr << "error for you"; cin.get(); cin.get(); } 键盘输入流 #include<iostream> #include <stdlib.h

python 简单的txt文件读写

1 读取txt文件.跟c相比,python的文件读写简直是方便的可怕 首先是读取文件 首先获得文件名称,然后通过 open函数打开文件,通过for循环逐行读出文件内容 #!python file by ninahao 10.30 'readfile.py--read and display text file' #get filename fname=raw_input('enter file name:') print #attempt to open file for reading try

Qt简单的文件创建和读写

1 QFile fp; //要包含必要的头文件,这里省略 2 QDir(dir); 3 QString path("./"),filename("test.txt"); 4 QDebug qdebug(QtWarningMsg) ; 5 fp.setFileName(path+filename); //为fp指定包含路径的文件名 6 if(fp.exists()) //若存在,读取 7 { 8 QString(text); 9 //char *tmp = NULL;

最简单的基于FFmpeg的内存读写的例子:内存转码器

上篇文章记录了一个基于FFmpeg的内存播放器,可以使用FFmpeg读取并播放内存中的数据.这篇文章记录一个基于FFmpeg的内存转码器.该转码器可以使用FFmpeg读取内存中的数据,转码为H.264之后再将数据输出到内存.关于如何从内存读取数据,以及如何将数据输出到内存,可以参考文章: ffmpeg 从内存中读取数据(或将数据输出到内存) FFmpeg读写内存的关键点有2个:1.       初始化自定义的AVIOContext,指定自定义的回调函数.2.       自己写回调函数.注意函数

基于最简单的FFmpeg采样读取内存读写:存储转

===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内存播放器 最简单的基于FFmpeg的内存读写的样例:内存转码器 ===================================================== 上篇文章记录了一个基于FFmpeg的内存播放器,能够使用FFmpeg读取并播放内存中的数据. 这篇文章记录一个基于FFmpeg的

Sql Server Always On 读写分离配置方法

使用了Sqlserver 2012 Always on技术后,假如采用的配置是默认配置,会出现Primary server CPU很高的情况发生,比如默认配置如下: 需要自定义来解决这个问题. 我们先来看看上图中的这些选项的意义 主角色中的连接 允许所有连接 如果当前server是primary角色时,primary instance允许所有连接(如:读/写/管理) 允许读/写连接 如果当前server是primary角色时,primary instance只允许读/写连接(如果通过ssms连接

HDFS读写原理

hadoop三个核心内容是HDFS.mapreduce以及HBase.此文简单描述HDFS的读写原理 读原理 HDFS客户端调用Distributed FileSystem中的open() 通过RPC协议调用NameNode来确定请求文件块所在的位置 Distributed FileSystem(以下简称DFS)向客户端返回一个支持文件定位的输入流对象FSDataInputStream(以下简称FSDIS)用于给客户端读取数据的.FSDIS包含一个DFSInputStream对象,是用于管理NN

spring学习笔记(19)mysql读写分离后端AOP控制实例

在这里,我们接上一篇文章,利用JNDI访问应用服务器配置的两个数据源来模拟同时操作不同的数据库如同时操作mysql和oracle等.实际上,上个例子可能用来模拟mysql数据库主从配置读写分离更贴切些.既然如此,在本例中,我们就完成读写分离的模拟在web端的配置实例. 续上次的例子,关于JNDI数据源的配置和spring datasource的配置这里不再重复.下面着重加入AOP实现DAO层动态分库调用.可先看上篇文章<spring学习笔记(18)使用JNDI模拟访问应用服务器多数据源实例 >