找回密码
 立即注册

QQ登录

只需一步,快速开始

lin666
初级会员   /  发表于:2018-3-7 09:34:11
21#
本帖最后由 lin666 于 2018-3-8 10:11 编辑

上面那个问题暂时算了  这个部署到服务器上  我使用上面的代码 也把excel文件放到相应的目录下了  为什么不能读取文件
我把导入服务器文件的代码写在了 导入本地文件的button里面。
<!doctype html>
<html style="height:100%;font-size:14px;">

<head>

    <meta charset="utf-8" />
    <!--<meta name="viewport" content="width=device-width, initial-scale=1.0" />-->
    <!--<meta name="spreadjs culture" content="zh-cn" />-->

    <link rel="stylesheet" href="Content/gc.spread.sheets.excel2013white.11.0.0.css" />


    <script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.all.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/FileSaver.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.excelio.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.charts.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.resources.zh.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/excel_data.js" type="text/javascript"></script>




    <style type="text/css">
        .inputContainer {
            width: 390px;
            height: auto;
            border: 1px solid gray;
            padding: 6px 12px;
            margin: 10px;
            float: left;
        }

        .input {
            font-size: 14px;
            width: 300px;
            height: 20px;
            border: 0px;
            outline: none;
        }

        .button {
            font-size: 16px;
            height: 30px;
            padding: 6px 12px;
            width: 80px;
        }

        .top-options {
            height: 70px;
        }
    </style>



</head>

<body style='font-size:14px;'>
    <div class="demo-options">
        <div class="top-options">
            <div class="inputContainer">
                <input type="file" id="fileDemo" class="input">
                <input type="button" id="loadExcel" value="导入文件" class="button">
            </div>
            <div class="inputContainer">
                <input type="text" id="exportFileName" value="export.xlsx" class="input" style="font-size: 16px">
                <input type="button" id="saveExcel" value="导出文件" class="button">
            </div>
        </div>
    </div>
    <div class="sample-turtorial">
        <div id="ss" style="width:100%; height:700px;border: 1px solid gray"></div>
        <div class="demo-options">
            <div class="option-row">

            </div>
        </div>
    </div>

    <script type="text/javascript">


        $(document).ready(function () {
            var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
            spread.fromJSON(jsonData);
            var excelIo = new GC.Spread.Excel.IO();
            var sheet = spread.getActiveSheet();

            spread.options.scrollbarMaxAlign = true;
            spread.options.scrollbarShowMax = true;
            //sheet.options.isProtected = true;
            //sheet.getCell(1, 1).locked(true);



            $("#loadExcel").click(function () {
                var excelIo = new GC.Spread.Excel.IO();
               
                var excelFilePath = 'resources/Excel/demo.xlsx';
               
                var xhr = new XMLHttpRequest();
               
                xhr.open('GET', excelFilePath, true);
               
                xhr.responseType = 'blob';
               
                xhr.onload = function (e) {
                if (this.status == 200) {
                        
                // get binary data as a response
                        
                var blob = this.response;
                        
                // convert Excel to JSON
                        
                excelIo.open(blob, function (json) {
                        var workbookObj = json;
                           
                        spread.fromJSON(workbookObj);
                        }, function (e) {
                           
                        // process error
                           
                        alert(e.errorMessage);
                        }, {});
                    }
                };

               
                xhr.send();




            });



            $("#saveExcel").click(function () {

                var fileName = $("#exportFileName").val();
                var password = $("#password").val();
                if (fileName.substr(-5, 5) !== '.xlsx') {
                    fileName += '.xlsx';
                }

                var json = spread.toJSON();

                // here is excel IO API
                excelIo.save(json, function (blob) {
                    saveAs(blob, fileName);
                }, function (e) {
                    // process error
                    console.log(e);
                }, { password: password });

            });

        });

    </script>
</body>

</html>
TIM截图20180307093021.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-7 09:56:08
22#
您的请求,成功发送到后端了吗,您.net后端是如何接收请求的。
回复 使用道具 举报
lin666
初级会员   /  发表于:2018-3-7 10:13:03
23#
ClarkPan 发表于 2018-3-7 09:56
您的请求,成功发送到后端了吗,您.net后端是如何接收请求的。

后端代码没写啊。。不会  我直接把html文件扔到phpwamp服务器的根目录下  然后把excel文件放到相应的目录下。。后端该如何写
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-7 10:34:26
24#
那肯定不行啊,这个是web开发最基础的问题,不是产品本身的问题,您在网上找一下相关资料学习了解一下吧,不然后面还会有更多一系列的问题。
回复 使用道具 举报
lin666
初级会员   /  发表于:2018-3-7 11:03:03
25#
ClarkPan 发表于 2018-3-7 10:34
那肯定不行啊,这个是web开发最基础的问题,不是产品本身的问题,您在网上找一下相关资料学习了解一下吧, ...

那能不能这个问题先简单处理一下
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-7 11:08:12
26#
问题是这不是简单就能处理好的,您看一下给参考的JAVA的后台,这根本不是一个demo两个demo就能做好的。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-7 15:32:27
27#
这个资料您可以参考一下,应该对您学习ASP.NET有些帮助
https://jingyan.baidu.com/article/f25ef254487486482c1b82e1.html
回复 使用道具 举报
lin666
初级会员   /  发表于:2018-3-7 17:17:13
28#
本帖最后由 lin666 于 2018-3-8 10:18 编辑

我试了 用本地服务器 只需要demo上的那些代码就能做到从服务器导入文件了 ,但是把文件保存到服务器出了问题 这个如何处理              代码如下:
<!doctype html>
<html style="height:100%;font-size:14px;">

<head>

    <meta charset="utf-8" />
    <!--<meta name="viewport" content="width=device-width, initial-scale=1.0" />-->
    <!--<meta name="spreadjs culture" content="zh-cn" />-->

    <link rel="stylesheet" href="Content/gc.spread.sheets.excel2013white.11.0.0.css" />


    <script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.all.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/FileSaver.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.excelio.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.charts.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/gc.spread.sheets.resources.zh.11.0.0.min.js" type="text/javascript"></script>
    <script src="Scripts/excel_data.js" type="text/javascript"></script>




    <style type="text/css">
        .inputContainer {
            width: 390px;
            height: auto;
            border: 1px solid gray;
            padding: 6px 12px;
            margin: 10px;
            float: left;
        }

        .input {
            font-size: 14px;
            width: 300px;
            height: 20px;
            border: 0px;
            outline: none;
        }

        .button {
            font-size: 16px;
            height: 30px;
            padding: 6px 12px;
            width: 80px;
        }

        .top-options {
            height: 70px;
        }
    </style>



</head>

<body style='font-size:14px;'>
    <div class="demo-options">
        <div class="top-options">
            <div class="inputContainer">
                <input type="file" id="fileDemo" class="input">
                <input type="button" id="loadExcel" value="导入文件" class="button">
            </div>
            <div class="inputContainer">
                <input type="text" id="exportFileName" value="export.xlsx" class="input" style="font-size: 16px">
                <input type="button" id="saveExcel" value="导出文件" class="button">
            </div>
        </div>
    </div>
    <div class="sample-turtorial">
        <div id="ss" style="width:100%; height:850px;border: 1px solid gray"></div>
        <div class="demo-options">
            <div class="option-row">

            </div>
        </div>
    </div>

        <form name="myform" id="myform" enctype="multipart/form-data" method="post"></form>
    <script type="text/javascript">


        $(document).ready(function () {
            var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
            spread.fromJSON(jsonData);
            var excelIo = new GC.Spread.Excel.IO();
            var sheet = spread.getActiveSheet();

            spread.options.scrollbarMaxAlign = true;
            spread.options.scrollbarShowMax = true;
            //sheet.options.isProtected = true;
            //sheet.getCell(1, 1).locked(true);



            $("#loadExcel").click(function () {
                var excelIo = new GC.Spread.Excel.IO();
               
                var excelFilePath = 'resources/Excel/检验表.xlsx';
               
                var xhr = new XMLHttpRequest();
               
                xhr.open('GET', excelFilePath, true);
               
                xhr.responseType = 'blob';
               
                xhr.onload = function (e) {
                if (this.status == 200) {
                        
                // get binary data as a response
                        
                var blob = this.response;
                        
                // convert Excel to JSON
                        
                excelIo.open(blob, function (json) {
                        var workbookObj = json;
                           
                        spread.fromJSON(workbookObj);
                        }, function (e) {
                           
                        // process error
                           
                        alert(e.errorMessage);
                        }, {});
                    }
                };

               
                xhr.send();




            });



            $("#saveExcel").click(function () {

                //var fileName = $("#exportFileName").val();
                //var password = $("#password").val();
                //if (fileName.substr(-5, 5) !== '.xlsx') {
                  //  fileName += '.xlsx';
                //}

              //  var json = spread.toJSON();

                // here is excel IO API
              //  excelIo.save(json, function (blob) {
                //    saveAs(blob, fileName);
                //}, function (e) {
                    // process error
                  //  console.log(e);
                //}, { password: password });
                var fd = new FormData(document.forms.namedItem("myform"));

            });

        });

    </script>
</body>

</html>
回复 使用道具 举报
lin666
初级会员   /  发表于:2018-3-7 17:23:08
29#
本帖最后由 lin666 于 2018-3-7 17:28 编辑
ClarkPan 发表于 2018-3-7 15:32
这个资料您可以参考一下,应该对您学习ASP.NET有些帮助
https://jingyan.baidu.com/article/f25ef25448748 ...

我把截图上的两行代码 一行加在body 一行加在 导出文件里面  没有反应  是不是还要写其他的代码  比如放导出文件放在哪个目录下面???
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-3-7 17:54:43
30#
这个是保存的前端写法,给您的demo中附件里就有:
  1. function exportData(){
  2.         var selectedTableName = $("#table_name").find("option:selected").text();
  3.         var fileName = "export_"+selectedTableName+".xlsx";
  4.     var json = spread.toJSON({includeBindingSource: true});
  5.     var excelIo = new GC.Spread.Excel.IO();
  6.     // here is excel IO API   
  7.     excelIo.save(json, function (blob) {
  8.             var fd = new FormData(document.forms.namedItem("myform"));
  9.             fd.append("test.xlsx",blob);
  10.            
  11.             $.ajax({
  12.                     url: "saveExport",
  13.                     type:"POST",
  14.                     contentType:false,
  15.                     processData: false,
  16.                     data:fd,
  17.                     success: function (data) {
  18.                             if(data.isSuccess == 1){
  19.                                     alert("上传成功!");
  20.                             }else{
  21.                                     alert(data.errorMessage);
  22.                             }
  23.                     },
  24.                     error: function (ex) {
  25.                             alert("上传失败:"+ex);
  26.                     }
  27.             });
  28.     }, function (e) {
  29.             alert(e);
  30.     });
  31. }
复制代码

后端根据平台的不同有不同的写法
至于后端如何将Excel保存到服务器端,说白了这个并不是spreadjs本身的问题,因为spreadjs是纯前端控件,对保存至服务器的方式没有任何限制,所以这块的问题就是如何将上传的文件保存至服务器端的问题,这个是WEB开发通用的,根据后端平台的不同方法也不尽相同。您可以在网上找一下相关的资料来学习一下。
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 立即注册
返回顶部