excel在我们的日常工作和生活中经常用到,平时我们都是用办公软件来写文档的。但是同样格式的excel文档,如果还是手工完成,那绝不是我们软件工程师的态度~下面我会介绍一种方法,不需要复杂的编程,任何编程语言都可以~调用别人封装好的API,只要能发个post请求,,,,特别适合大规模生成类似文档的应用,在用户后台->应用中心->我的界面:平台查看openIdid,注册后系统自动生成,用户后台->用户中心->账户信息中的表格内容用json类型的字符串表示,只需要按照一定的格式拼接字符串即可(见集体规则的api文档),然后调用api。同时在界面描述中也有各种开发语言的调用demo,比如:java、python、php、c#、golang、nodeJS,其实不仅是上述几种语言,只要可以发个POST请求,就可以用这个接口,很方便。该平台还有许多其他功能的接口,其中大部分是免费的。像天气预报、万年历、老黄历、中文分词、电影资料查询、电子书查询、网盘资料等等,我们慢慢来了解吧!下面粘贴文档内容提取的相关代码:java版:packagecom.xiaocongjisuan.module.example;importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.IOException;importjava.io.InputStream;导入java.io.InputStreamReader;导入java.io.UnsupportedEncodingException;导入java.net.HttpURLConnection;导入java.net.URL;导入java.net.URLEncoder;导入java.util.HashMap;导入java.util.Map;公共类应用程序{publicstaticfinalStringDEF_CHATSET="UTF-8";publicstaticfinalintDEF_CONN_TIMEOUT=30000;publicstaticfinalintDEF_READ_TIMEOUT=30000;publicstaticStringuserAgent="Mozilla/5.0(WindowsNT6.1)AppleWeb3Kit6(537.,likeGecko)Chrome/29.0.1547.66Safari/537.36";//配置你申请的appKey和openIdpublicstaticfinalStringAPP_KEY="yours";publicstaticfinalStringOPEN_ID="你的";//将map类型转换为Request参数类型publicstaticStringurlEncode(Mapparams){if(params==null){return"";};StringBuildersb=newStringBuilder();for(Map.Entryi:params.entrySet()){尝试{sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).追加("&");}catch(UnsupportedEncodingExceptione){e.printStackTrace();}}字符串r=sb.toString();如果(r.endsWith("&")){r=r.substring(0,r.length()-1);}返回r;}/****@paramrequestUrl请求地址*@paramparams请求参数*@param方法请求方法*@return请求结果*@throwsException*/publicstaticStringrequestContent(StringrequestUrl,Mapparams,字符串方法)抛出异常{HttpURLConnectionconn=null;BufferedReader阅读器=null;字符串rs=空;try{//组态请求链接StringBuffersb=newStringBuffer();if(method!=null&&method.equalsIgnoreCase("get")){requestUrl=requestUrl+"?"+urlEncode(params);}//默认获取URLurl=newURL(requestUrl);conn=(HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");if(method!=null&&method.equalsIgnoreCase("post")){conn.setRequestMethod("POST");conn.setDoOutput(true);conn.setDoInput(true);}//参数配置conn.setRequestProperty("User-agent",userAgent);conn.setUseCaches(false);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();如果(参数s!=null&&method.equalsIgnoreCase("post")){try{DataOutputStreamout=newDataOutputStream(conn.getOutputStream());out.writeBytes(urlEncode(参数));}catch(Exceptione){e.printStackTrace();}}//读取数据InputStreamis=conn.getInputStream();reader=newBufferedReader(newInputStreamReader(is,DEF_CHATSET));字符串strRead=null;while((strRead=reader.readLine())!=null){sb.append(strRead);}rs=sb.toString();}catch(IOExceptione){e.printStackTrace();}finally{if(reader!=null){reader.close();}if(conn!=null){conn.disconnect();}}返回rs;}民众staticvoidmain(String[]args)throwsException{Stringdomain="http://api.xiaocongjisuan.com/";Stringservlet="develop/officeexcelgenerate/get";字符串方法=“获取”;StringrequestUrl=域名+servlet;Mapparams=newHashMap();params.put("appKey",APP_KEY);params.put("openId",OPEN_ID);//更改部分params.put("toFormat","xlsx");params.put("content","{\"sheets\":[{\"header\":[\"Name\",\"Gender\",\"Age\"],\"rows\":[[\"张三\",\"男\",\"25\"],[\"李四\",\"男\",\"20\"],[\"小红\",\"女\",\"21\"]]},{\"header\":[\"姓名\",\"年级\"],\"行数\":[[\"张三\",25],[\"李四\",20],[\"小红\",21]]}]}");Stringresult=requestContent(requestUrl,参数,方法);System.out.println(结果);}}python版本:#-*-coding:utf-8-*-#flake8:noqa__author__='wukong'importurllibfromurllibimporturlencode#配置你申请的appKey和openIdapp_key="***"open_id="***““““要求_url请求地址params请求参数方法请求方法"""defrequest_content(request_url,params,method):params=urlencode(params)ifmethodandmethod.lower()=="get":f=urllib.urlopen("%s?%s"%(request_url,params))else:f=urllib.urlopen(request_url,params)content=f.read()打印内容defmain():domain="http://127.0.0.1:8080/xiaocongjisuan/"servlet="develop/officeexcelgenerate/get"method="post"request_url=domain+servlet#dictionaryparams={}params["docName"]=app_keyparams["openId"]=open_id#changepartparams["toFormat"]="xlsx"params["content"]="{\"sheets\":[{\"header\":[\"Name\",\"Gender\",\"Age\"],\"行数\":[[\"张三\",\"男\",\"25\"],[\"李四\",\"男\",\"20\"],[\"小红\",\"女\",\"21\"]]},{\"header\":[\"姓名\",\"年级\"],\"行数\":[[\"张三\",25],[\"李四\",20],[\"小红\",21]]}]}"request_content(request_url,params,method)if__name__=='__main__':main()php版本:$value){$params[$key]=mb_convert_encoding($value,"UTF-8","GBK");}$paramstring=http_build_query($params);$content=http_curl($url,$paramstring,true);返回$content;}echomain();?>等...,对于其他语言,请参阅文档