关于Xls直接转JSON的解决办法

  大家好,这里介绍一下xls转json的方法。

  1、直接用XLs工具可以转出Json(这个就不介绍了)。

  2、用nodejs程序执行上面的json转换操作,我用的NOdeJS版本是4.2.2,下面贴一下全全部代码:

  

//文件上传
//获取当前时间(年月日时分秒)
function getnow() {
    var date = new Date();
    var seperator1 = "";
    var seperator2 = "";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
            + "" + date.getHours() + seperator2 + date.getMinutes()
            + seperator2 + date.getSeconds()+date.getMilliseconds();
    return currentdate;
}

//服务开始
var express = require(‘express‘);
var app = express();
var fs = require("fs");
var http  = require(‘http‘);
var $ = require("jquery");
var xlsx = require("node-xlsx");// use be json

var json=null;

var bodyParser = require(‘body-parser‘);
var multer  = require(‘multer‘);

app.use(express.static(‘public‘));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: ‘/tmp/‘}).array(‘image‘));

app.get(‘/index.html‘, function (req, res) {
   res.sendFile( __dirname + "/" + "index.html" );
});

app.post(‘/file_upload‘, function (req, res) {

   var  namelast=getnow()+ req.files[0].originalname;
   var des_file = __dirname + "/files/" + namelast;
   fs.readFile( req.files[0].path, function (err, data) {

       //300M文件限制
       if(314572800<data.length)
       {
            response = {
                   code:15,
                   msg:‘file length is max‘,
                   data:"",
                   path:"",
                   name:req.files[0].originalname
            };
            res.end( JSON.stringify( response ) );
       }
       else{
            //写入文件
             fs.writeFile(des_file, data, function (err) {
             if( err ){
                  console.log( err );
             }else{

                 json = xlsx.parse(des_file);

                 response = {
                       code:0,
                       msg:‘File uploaded successfully‘,
                       data:JSON.stringify(json),
                       path:namelast,
                       name:req.files[0].originalname
                 };
                 fs.writeFile("json.json", JSON.stringify(json),function (err) {
                     if (err) throw err ;
                 });
              }
              res.end( JSON.stringify( json ) );
            });
       }
    });
});

var server = app.listen(3000, function () {
  console.log("address:  http://localhost:3000");
});

  备用地址/demo:http://182.92.155.97:3000/index.html

  使用方法:打开地址,点击Upload上传按钮即可选择*.xls文件上传后、Json数据直接显示在页面、当然也可【CTRL+A】全选JSON:

END

时间: 2024-09-26 23:12:34

关于Xls直接转JSON的解决办法的相关文章

[转载].xls .ppt无法关联的解决办法!

今天把office软件从2007升级到了2010,正常安装完成以后发现在新建的菜单里面没有excel和ppt的新建图标. 而且.xls和.ppt格式的文件无法用相应的office软件打开,即便是通过打开方式设置默认程序的方式也无法关联... 在网上搜索了N久找到了答案. 1.依次点击开始,在搜索框中输入:regedit,然后找到下面的键值并删除: [c-sharp] view plaincopyprint? HKEY_CLASSES_ROOT/.pptx HKEY_CLASSES_ROOT/.x

SpringMVC分页查询无法直接将对象转换成json的解决办法(报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错)

在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错误, 需要在springmvc返回前先转换为json 步骤如下: 1.添加依赖(

使用mysql innodb 使用5.7的json类型遇到的坑和解决办法

---------------------------------------------- #查询JSON的某个字段 select data -> '$.Host' from temp #创建虚拟列 ALTER TABLE temp ADD host varchar(128) GENERATED ALWAYS AS (json_extract(data,'$.Host')) VIRTUAL; #给虚拟列创建索引 ALTER TABLE temp ADD INDEX index_temp_hos

关于SSH 持久对象转Json双向关联解析过度的解决办法

小弟是一名被部分程序员所鄙视的培训狗,昨天做项目遇到一个问题,在SSH框架通过ajax向界面传递数据的时候,由于对象之间双向关联导致json解析过度,造成内存溢出,网上搜索了解决办法除了过滤某些关联对象之外就没有别的办法了,我的想法是通过设置解析深度来解决过度抓取的问题,开始也考虑性能问题,最好的解决办法就是做一个视图,单独写一个model .但是又不希望这样繁琐,后来发现换个观点一想,能解决这个过度解析的问题对系统的性能的提升其实也很大了,所以就自己动手准备写一个转换工具类,办法也很明了递归.

FastJson将json解析成含有泛型对象,内部泛型对象再次解析出错的解决办法(Android)

折腾小半天的问题,这里先感谢一下深圳的小伙子,远程帮我搞,虽然也没有搞出来==========FUCK 声明:Android开发下发生此异常,Java开发下并不会有这个问题 异常重现 简单说一下抛出异常的代码: (1)解析json代码如下: RecommendBean<RecommendListBean> obj = JSON.parseObject(jsonString, new TypeReference<RecommendBean<RecommendListBean>&

PHP 获取JSON json_decode返回NULL解决办法

在用json_decode对JSON格式的字符串进行解码时竟然为空,页面空白啊,整半天检查这里检查那里,问同事都没用. 今天必应搜索了下,问题解决了,原来是有BOM头输出,大虾的解决办法如下: 1).json_decode($json,boolean):$json为json格式的字符,第二个参数为TRUE时表示转换为数组,默认的FALSE表示 转换为对象. 2).json_decode要求的字符串比较严格: (1)使用UTF-8编码 (2)不能在最后元素有逗号 (3)不能使用单引号 (4)不能有

Spring mvc 返回JSON 在IE 下提示下载 解决办法

http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html ———————————————————————————————————————————————————————————————————— 在IE低版本下接收Spring MVC @ResponseBody 返回的JSON 会提示下载保存.在chrome下没有问题.解决办法 是: <mvc:annotation-driven ignoreDefaultModelOnRedi

PHP Json函数不能处理中文的解决办法

PHP5.2 新增的 json 功能是非常受欢迎的,但是经过测试发现,json_encode对中文的处理是有问题的:    不能处理GB编码,所有的GB编码都会替换成空字符:    utf8编码的中文被编码成unicode编码,相当于javascript的escape函数处理的结果.    为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对json_encode的返回结果稍加处理就可以得到正确的结果了.?1. [代码]php代码    <?php/*PHP5.2 新增的 j

php json 解析有stdClass Object 解决办法

php json 解析有stdClass Object mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] ) json 待解码的 json string 格式的字符串. This function only works with UTF-8 encoded data. assoc 当该参数为 TRUE 时,将返回 array 而非 object .