Coder Social home page Coder Social logo

Comments (11)

simonaberry avatar simonaberry commented on May 12, 2024 6

works brilliantly - thanks !!!!

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024 1

@simonaberry, looks like xlsx-populate is able to run in browser after review our code base. I will get back to you with an example.

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024

Hey @simonaberry,
That would be really awesome. However, as of now xlsx files are read from file. Can you think of a way that this feature can be added? Let me know!

from xlsx-populate.

dtjohnson avatar dtjohnson commented on May 12, 2024

Technically, it should be possible with browserify. I haven't used it, but I suspect it would require some effort to make the library support it. All of the dependencies should work. JSZip even has methods for working with HTML5 Blobs.

from xlsx-populate.

simonaberry avatar simonaberry commented on May 12, 2024

I am sure it is possible - because docxtemplater does it perfectly (https://github.com/open-xml-templating/docxtemplater) .... I will see if I can figure out what needs to change, but I must warn you I am no expert, so may end up hacking things .....

FYI, this is how I call it for docxtemplater :

var loadFile=function(url,callback){
	JSZipUtils.getBinaryContent(url,callback);
};

   //url points to docx template file on remote server
loadFile(url,function(err,content){
	if (err) {
           //...
        } else {
	   doc=new Docxgen(content);	
	   doc.setData(docData);
	   doc.render();
	   out = doc.getZip().generate({type:'blob'});
	   saveAs(out,fn);
        }
}

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024

Hi @simonaberry,
I wasn't able to test this yet, but I have a branch "from-url" with the following example:
https://github.com/dtjohnson/xlsx-populate/blob/2b2d6a455bec3719d0adeb24cd9f81346037a968/examples/browserify/index.html

from xlsx-populate.

simonaberry avatar simonaberry commented on May 12, 2024

Thanks, Ill test in in the next few days... but just looking at the code I see that bundle.js requires './utils' ... is that correct ?

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024

Hi @simonaberry,

I learned enough about browserify to get our library ported to client-side. Checkout the branch "from-url", and run the demo like so:

node ./examples/browserify/

A xlsx file is required to be on the same origin as the host, I had to run an express server to host the demo and the xlsx file. Of course you are free to host a script and an xlsx file your own way. Here is more information on this security model:

https://en.wikipedia.org/wiki/Same-origin_policy

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024

Excellent, thanks for the suggestion, its a good addition to our library!

from xlsx-populate.

eddiecorrigall avatar eddiecorrigall commented on May 12, 2024

@dtjohnson,
One of the unit tests is failing for this branch, I'm not sure how it's happening.

xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"

This attribute keeps seeping into different tags. Any ideas how? I didn't change much in the library.

from xlsx-populate.

dtjohnson avatar dtjohnson commented on May 12, 2024

With v1.0.0, browser support is now a first-class citizen. I'm going to close this issue.

from xlsx-populate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.