Read Excel data with JQuery

2019-01-21 23:59发布

I would like to know how to read data from a multi-worksheet MS Excel 2003 file using nothing, but jquery. I have read several solutions for PHP/JQuery, ActiveX, etc..., but I would like to do it with JQuery ONLY. Any idea of how this could work?

I have found http://plugins.jquery.com/project/csv2table and this does the job almost perfectly, except for the fact that I have to break each sheet out into a CSV file. I would like to drop that step and read it directly from the Excel file. Thank you in advance for your help!

BTW - I am working in FireFox 4 and have no need for cross browser support.

5条回答
Deceive 欺骗
2楼-- · 2019-01-22 00:16

There are a few tools (libraries) for nodeJS that you can find on the npm website. There's one called excel that reads xlsx files and there's one called office for most ms office files. Now since it's all Javascript anyway, you should be able to download, and check out the source to find a way to integrate it on the client-side. Hope that helps

查看更多
在下西门庆
3楼-- · 2019-01-22 00:17

I realize this question is old, but I have a basic parser that supports most of what you are asking for: http://oss.sheetjs.com/js-xls/

查看更多
4楼-- · 2019-01-22 00:18

Office Web Components provide an api to excel documents via javascript (or vb). They are poorly documented but for intranet type applications they can get the job done. I have used them for the pivot table functionality in IE6 and do not know if it will work with Firefox.

http://en.wikipedia.org/wiki/Office_Web_Components

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=beb5d477-2100-4586-a13c-50e56f101720&DisplayLang=en

查看更多
迷人小祖宗
5楼-- · 2019-01-22 00:22

Actually it's possible without OWC and such exotic addins, but manual work will be required. Another thing - it's doable on local machine only - don't expect your worksheet to act like a web server. Another possibility is to set it up on a network share, but I'm not sure how will it all work in the sandbox.

EDIT: I know the question was about Excel 2003 format. However, there are still Google queries about the same functionality and today people are using MS Office versions 2010/2013. So, I believe the answer can be beneficial to the reader.

So, here it is:

  1. Using zip.js you can open zipped files. This means you can open MS Office files starting from Office 2007 (.docx, .xlsx. etc). Older office files have custom format and you can't read them as zipped files.
  2. After you open the file, hierarchical folder structure with various files in it is available. The data itself is in /xl/worksheets/[worksheet name].xml and /xl/sharedStrings.xml, which means you have to dig it out using XML parser and correlate afterwards.
  3. Luckily enough, XML parser is available in jQuery: $.parseXML('...')

Have fun ;)

查看更多
Bombasti
6楼-- · 2019-01-22 00:35

Convert the excel in a CSV file to get read from Jquery. make use of the Jquery plugin CSV2Table

<div id="view1"></div>
<script type="text/javascript">
$(function(){
    $('#view1').csv2table('Path/Anil.csv');
});
</script>
查看更多
登录 后发表回答