找回密码
 立即注册

QQ登录

只需一步,快速开始

ennomiao

高级会员

5

主题

29

帖子

1804

积分

高级会员

积分
1804

活字格认证

ennomiao
高级会员   /  发表于:2013-9-5 21:49  /   查看:7568  /  回复:5
  1.      $(document).ready(function(){
  2.                                   $("#ss").wijspread({sheetCount:3}); // create wijspread control
  3.                                   var spread = $("#ss").wijspread("spread"); // get instance of wijspread control
  4.                                   var sheet = spread.getActiveSheet(); // get active worksheet of the wijspread control
  5.                                   // initializing the active worksheet here...
  6.                                   });
  7.                 </script>
复制代码


官方的例子是创建一个新的excel,如何打开本地excel文件?以及关于wijmo操作excel的帮助文档哪有?


谢谢!

5 个回复

倒序浏览
gw0506
超级版主   /  发表于:2013-9-6 10:10:00
沙发
帮助文档:http://wijmo.com/docs/wijmo/#SpreadJS.html

如果要打开本地的Excel文件,需要先转成CSV,再用Uploader上传,然后序列化读取到csvString,然后才能读入SpreadJS。

下面代码是导入CSV的示例。

  1. &#160;&#160;&#160; var sheet1 = spread.getSheet(0);
  2.                 &#160;&#160;&#160;&#160;sheet1.setRowCount(3);
  3.                 &#160;&#160;&#160;&#160;sheet1.setColumnCount(5);
  4.                 &#160;&#160;&#160;&#160;sheet1.setColumnHeaderAutoText($.wijmo.wijspread.HeaderAutoText.blank);
  5.                 &#160;&#160;&#160;&#160;sheet1.setRowHeaderAutoText($.wijmo.wijspread.HeaderAutoText.blank);
  6.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 0, "Row1", $.wijmo.wijspread.SheetArea.rowHeader);
  7.                 &#160;&#160;&#160;&#160;sheet1.setText(1, 0, "Row2", $.wijmo.wijspread.SheetArea.rowHeader);
  8.                 &#160;&#160;&#160;&#160;sheet1.setText(2, 0, "Row3", $.wijmo.wijspread.SheetArea.rowHeader);
  9.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 0, "Column1", $.wijmo.wijspread.SheetArea.colHeader);
  10.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 1, "Column2", $.wijmo.wijspread.SheetArea.colHeader);
  11.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 2, "Column3", $.wijmo.wijspread.SheetArea.colHeader);
  12.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 3, "Column4", $.wijmo.wijspread.SheetArea.colHeader);
  13.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 4, "Column5", $.wijmo.wijspread.SheetArea.colHeader);
  14.                 &#160;&#160;&#160;&#160;sheet1.setText(0, 0, "SPREAD-1");
  15.                 &#160;&#160;&#160;&#160;sheet1.setText(1, 0, "SPREAD-2");
  16.                 &#160;&#160;&#160;&#160;sheet1.setText(2, 0, "SPREAD-3");
  17.                 &#160;&#160;&#160;&#160;sheet1.setValue(0, 1, new Date().setFullYear(2006, 8, 1));
  18.                 &#160;&#160;&#160;&#160;sheet1.setValue(1, 1, new Date().setFullYear(2006, 8, 2));
  19.                 &#160;&#160;&#160;&#160;sheet1.setValue(2, 1, new Date().setFullYear(2006, 8, 3));
  20.                 &#160;&#160;&#160;&#160;sheet1.setColumnWidth(1, 90);
  21.                 &#160;&#160;&#160;&#160;sheet1.setValue(0, 2, 123.45);
  22.                 &#160;&#160;&#160;&#160;sheet1.setValue(1, 2, 99.9999);
  23.                 &#160;&#160;&#160;&#160;sheet1.setValue(2, 2, 100);
  24.                 &#160;&#160;&#160;&#160;sheet1.setValue(0, 3, true);
  25.                 &#160;&#160;&#160;&#160;sheet1.setValue(1, 3, false);
  26.                 &#160;&#160;&#160;&#160;sheet1.setValue(2, 3, true);
  27.                 &#160;&#160;&#160;&#160;sheet1.setValue(0, 4, "aaa");
  28.                 &#160;&#160;&#160;&#160;sheet1.setValue(1, 4, "bbb");
  29.                 &#160;&#160;&#160;&#160;sheet1.setValue(2, 4, "ccc");
  30.                
  31.                 $("#button1").click(function(){
  32.                 &#160;&#160;&#160;&#160;//Save all data on the first sheet in a csv format.
  33.                 &#160;&#160;&#160;&#160;window.CSVString = spread.getSheet(0).getCsv(0, 0, spread.getSheet(0).getRowCount(), spread.getSheet(0).getColumnCount(), "\r", ",");
  34.                 });
  35.                
  36.                 $("#button2").click(function(){
  37.                 &#160;&#160;&#160;&#160;//Load the saved csv file on the second sheet.
  38.                 &#160;&#160;&#160;&#160;spread.getSheet(1).setCsv(0, 0, window.CSVString, "\r", ",", $.wijmo.wijspread.TextFileOpenFlags.None);
  39.                 &#160;});
  40.                
  41.                 //Add button controls to page
  42.                 <input type="button" id="button1" value="button1"/>
  43.                 <input type="button" id="button2" value="button2"/>
复制代码
回复 使用道具 举报
ennomiao
高级会员   /  发表于:2013-9-6 12:43:00
板凳
我还是不太明白,转CSV是打开excel另存为CSV,还是用speadjs某个方法,比如
  1. var csvDemo=speadjs.methodToCSV(&quot;C:\Demo.xls&quot;)
复制代码
,还是说像你上面那样,是把整个Excel的规格和数据写进sheet里面,然后 spread.getSheet(0).getCsv()转成CSV.类似在js里面新写了CSV...最好有个Demo就好了.谢谢!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-9-6 15:19:00
地板
你可以将刚才那段代码直接粘贴在页面上就可以看到效果。
这么解释吧,SpreadJS不能直接导入或者导出xls文件,目前仅支持csv文件。示例中是通过SpreadJS的getcsv方法创建了一个csv格式的string,也就是示例代码中的window.CSVString,然后通过setCsv方法将window.CSVString填充到SpreadJS中。所以,如果你要读取本地文件,你必须先上传csv文件然后将文件转换成window.CSVString,然后再使用setCsv方法将window.CSVString,填充到SpreadJS中,完成本地CSV文件导入操作。
回复 使用道具 举报
ennomiao
高级会员   /  发表于:2013-9-11 19:39:00
5#
谢谢,明白了。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-9-12 09:04:00
6#
不客气,应该的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部