Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript创建csv文件,压缩它,然后下载_Javascript_Export To Csv_Jszip - Fatal编程技术网

使用javascript创建csv文件,压缩它,然后下载

使用javascript创建csv文件,压缩它,然后下载,javascript,export-to-csv,jszip,Javascript,Export To Csv,Jszip,我是javascript新手,但通过谷歌搜索,我看到了创建CSV文件和压缩文件的代码。它们都很好用。创建CSV文件的代码不会对其进行压缩,创建zip文件的代码也不会创建CSV文件。我需要合并这两个代码,这样我就可以从网页创建一个CSV文件,压缩它,然后允许用户下载它。我尝试过使用blob变量,但没有成功。 下面是我用来创建CSV文件的代码 归功于 等级 名称 要点 团队 1. 史蒂文·索托 2,462 蓝色 2. 阿尔弗雷德,海因斯 1,930 蓝色 3. 杰夫,“冠军”福斯特 1,656 红

我是javascript新手,但通过谷歌搜索,我看到了创建CSV文件和压缩文件的代码。它们都很好用。创建CSV文件的代码不会对其进行压缩,创建zip文件的代码也不会创建CSV文件。我需要合并这两个代码,这样我就可以从网页创建一个CSV文件,压缩它,然后允许用户下载它。我尝试过使用blob变量,但没有成功。 下面是我用来创建CSV文件的代码

归功于


等级
名称
要点
团队
1.
史蒂文·索托
2,462
蓝色
2.
阿尔弗雷德,海因斯
1,930
蓝色
3.
杰夫,“冠军”福斯特
1,656
红色
导出到CSV
const dataTable=document.getElementById(“dataTable”);
const btnExportToCsv=document.getElementById(“btnExportToCsv”);
btnExportToCsv.addEventListener(“单击”,()=>{
const exporter=new TableCSVExporter(数据表);
const csvOutput=exporter.convertToCSV();
const csvBlob=新Blob([csvOutput],{type:“text/csv”});
const blobUrl=URL.createObjectURL(csvBlob);
const anchoreElement=document.createElement(“a”);
anchoreElement.href=blobUrl;
anchoreElement.download=“table export.csv”;
AnchoreElement.click();
设置超时(()=>{
revokeObjectURL(blobUrl);
}, 500);
});
下面是使用JSZip压缩文件的代码

<script src="scripts/jszip.js"></script>
<script src="scripts/FileSaver.js"></script>
<script type="text/javascript">function pack(){
const URLS = [
    'https://vr.josh.earth/assets/2dimages/saturnv.jpg'//,
    //'https://vr.josh.earth/assets/360images/hotel_small.jpg'
]
saveToZip('project.zip',URLS)
function saveToZip (filename, urls) {
    const zip = new JSZip()
    const folder = zip.folder('project')
    urls.forEach((url)=> {
        const blobPromise = fetch(url).then(r => {
            if (r.status === 200) return r.blob()
            return Promise.reject(new Error(r.statusText))
        })
        const name = url.substring(url.lastIndexOf('/'))
        folder.file(name, blobPromise)
    })  
    zip.generateAsync({type:"blob"})
        .then(blob => saveAs(blob, filename))
        .catch(e => console.log(e));
}}

函数包(){
常量URL=[
'https://vr.josh.earth/assets/2dimages/saturnv.jpg'//,
//'https://vr.josh.earth/assets/360images/hotel_small.jpg'
]
saveToZip('project.zip',URL)
函数saveToZip(文件名、URL){
const-zip=new-JSZip()
const folder=zip.folder('项目')
url.forEach((url)=>{
constBlobPromise=fetch(url)。然后(r=>{
if(r.status==200)返回r.blob()
返回承诺。拒绝(新错误(r.statusText))
})
const name=url.substring(url.lastIndexOf('/'))
folder.file(名称,blobPromise)
})  
generateAsync({type:“blob”})
.then(blob=>saveAs(blob,文件名))
.catch(e=>console.log(e));
}}
如何使用此代码创建CSV文件、压缩文件,然后从网站下载压缩文件?有没有其他更有效的方法

<script src="scripts/jszip.js"></script>
<script src="scripts/FileSaver.js"></script>
<script type="text/javascript">function pack(){
const URLS = [
    'https://vr.josh.earth/assets/2dimages/saturnv.jpg'//,
    //'https://vr.josh.earth/assets/360images/hotel_small.jpg'
]
saveToZip('project.zip',URLS)
function saveToZip (filename, urls) {
    const zip = new JSZip()
    const folder = zip.folder('project')
    urls.forEach((url)=> {
        const blobPromise = fetch(url).then(r => {
            if (r.status === 200) return r.blob()
            return Promise.reject(new Error(r.statusText))
        })
        const name = url.substring(url.lastIndexOf('/'))
        folder.file(name, blobPromise)
    })  
    zip.generateAsync({type:"blob"})
        .then(blob => saveAs(blob, filename))
        .catch(e => console.log(e));
}}