Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 是否使用Jquery将一个div内容单独的行和单元格导出到Excel?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 是否使用Jquery将一个div内容单独的行和单元格导出到Excel?

Javascript 是否使用Jquery将一个div内容单独的行和单元格导出到Excel?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试使用Jquery导出div数据。但价值来自同一个细胞 下面是示例图像: 我需要以下示例图像: 有东西漏了我的密码,请帮帮我 JS: var csvContent=“名字、中间名、姓氏”;//CSV文件的标题 var dataElements=document.getElementsByClassName(“示例”); 对于(var i=0;i{ 返回$(sample).find('span>.labelValue').map((_,field)=>field.innerText.g

我正在尝试使用Jquery导出div数据。但价值来自同一个细胞

下面是示例图像:

我需要以下示例图像:

有东西漏了我的密码,请帮帮我

JS:

var csvContent=“名字、中间名、姓氏”;//CSV文件的标题
var dataElements=document.getElementsByClassName(“示例”);
对于(var i=0;i设a=$(“

您有两个问题。第一个问题是您用于创建Blob的语法无效。您使用的是表达式,但您需要实际提供数据。第二个问题是您试图以纯文本创建XLS文件,而该文件格式不是这样工作的

实现这一点的最简单方法是创建一个CSV文件,该文件的格式与您创建字符串的方式相同,您只需使用换行符分隔CSV的每一行

最后,在使用jQuery时,可以通过使用嵌套的
map()
调用为输出的每一行创建一个数组来简化检索数据的语法。请尝试以下操作:

let csv=$('.sample').map((i,sample)=>{
返回$(sample).find('span>.labelValue').map((_,field)=>field.innerText.get().join(',');
}).get();
csv.unshift('First Name,Middle Name,Last Name');//添加标题
创建csvfile(csv);
函数createCsvFile(csvArray){
let file=new Blob([csvArray.join('\r\n')]),{type:“application/csv”});
让url=url.createObjectURL(文件);
设a=$(”


请注意,我在JSFIDLE示例中添加了多行代码,以便您可以看到它的可扩展性。

您有两个问题。第一个问题是用于创建Blob的语法无效。您使用的是表达式,但您需要实际提供数据。第二个问题是尝试以纯文本形式创建XLS文件,而这不是file格式有效

实现这一点的最简单方法是创建一个CSV文件,该文件的格式与您创建字符串的方式相同,您只需使用换行符分隔CSV的每一行

最后,在使用jQuery时,可以通过使用嵌套的
map()
调用为输出的每一行创建一个数组来简化检索数据的语法。请尝试以下操作:

let csv=$('.sample').map((i,sample)=>{
返回$(sample).find('span>.labelValue').map((_,field)=>field.innerText.get().join(',');
}).get();
csv.unshift('First Name,Middle Name,Last Name');//添加标题
创建csvfile(csv);
函数createCsvFile(csvArray){
let file=new Blob([csvArray.join('\r\n')]),{type:“application/csv”});
让url=url.createObjectURL(文件);
设a=$(”


请注意,我在JSFIDLE示例中添加了多行,这样您就可以看到它的可扩展性了。

谢谢@Rory McCrossanOne更多疑问人口统计是一个分区名称我想要这个名称是excel工作表名称请帮助我。将文件名替换为人口统计谢谢@Rory McCrossanOne更多疑问人口统计是一个分区n名称我想要此名称是excel工作表名称请帮助我。将文件名替换为人口统计这是否回答了您的问题?这是否回答了您的问题?
var csvContent= "First Name, Middle Name, Last Name"; // Headers for CSV file


var dataElements = document.getElementsByClassName("sample");
for (var i = 0; i < dataElements.length; i++) {     // we iterate through all data entries
// If your ids per entry (one person) are fix (which is a bad idea)
var entryLineCsv = document.getElementById("kaf70").innerHTML + "," 
                 + document.getElementById("kaf71").innerHTML + ","
                 +document.getElementById("kaf72").innerHTML + ",";  // here we got on csv line
 createCsvFile(entryLineCsv);
 }

 function createCsvFile(addEntryLineIoCsv) {


  let file = new Blob([csvContent = csvContent + addEntryLineIoCsv], { type: "application/vnd.ms-excel" });

    let url = URL.createObjectURL(file);

   let a = $("<a />", {

        href: url,

        download: "filename.xls"

    }).appendTo("body").get(0).click();


 }
div class="losSection" id="secReviewerDemographics"><div class="losSectionHeader"><div class="losSectionSel losSectionTitle misign" data-originaltitle="Demographics">Demographics</div></div><div id="cpC_kf_secview_50" class="losSectionView"><div>




   <div id="ExportDetails" class="sample">

      <div class="tabularView">

         <input type="hidden" name="kaf_78" id="kaf_78" aria-label="kaf_78" value="01" class="._shCE"> 

         <div id="cpC_ctl73" class="tabularTbl flex-row start-xs">

           <div class="pad1x flex-row leftLblMode">

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div style="">

                     <label for="kaf_70" id="klb_70" class="input-control-label input-control-label input-control-label input-control-label input-control-label input-control-label">First Name

                     </label>

                  </div>

               </div>

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div class="labelValueField">

                     <span class="labelValue" name="kaf_70" id="kaf_70">

                        <span class="labelValue" name="kaf_70" id="kaf70" aria-label="Applicant First Name">NAMA</span>

                     </span>

                  </div>

               </div>

            </div>

            <div class="pad1x flex-row leftLblMode">

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div style="">

                     <label for="kaf_71" id="klb_71" class="input-control-label input-control-label input-control-label input-control-label input-control-label input-control-label">Middle Name</label>

                  </div>

               </div>

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div class="labelValueField">

                     <span class="labelValue" name="kaf_71" id="kaf_71">

                        <span class="labelValue" name="kaf_71" id="kaf71" aria-label="Applicant Middle Name">VEENESH</span>

                     </span>

                  </div>

               </div>

            </div>

            <div class="pad1x flex-row leftLblMode">

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div style="">

                     <label for="kaf_72" id="klb_72" class="input-control-label input-control-label input-control-label input-control-label input-control-label input-control-label">Last Name

                     </label>

                  </div>

               </div>

               <div class="pad1x flex-col-xs-12 flex-col-sm-6">

                  <div class="labelValueField">

                     <span class="labelValue" name="kaf_72" id="kaf_72">

                        <span class="labelValue" name="kaf_72" id="kaf72" aria-label="Applicant Last Name">KUMAR</span>

                     </span>

                  </div>

               </div>

            </div>



         </div>

         </div>

   </div>




                </div></div>

    <button id="ExportToExcel" onclick="exportF(this)">Export To Excel</button>