AngularJS导出Excel指令
这篇文章主要介绍了关于AngularJS导出Excel指令,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
Excel
导出思路
参考文章 - angularjs使用指令实现table导出csv
项目中使用到了导出Excel
功能,潘老师已经在博客中将表格导出为csv
的技术难点实现,剩下的,只是根据实际的业务需求对该指令进行完善。
大体遇到了以下几个问题:
功能按钮不导出
因为原指令默认导出表格所有的内容,第一次直接导出时,发现直接将查看、编辑这几个按钮的HTML
代码都导出去了,我们要的应该是人员信息和人员资质信息。
指令添加参数:有效数据列数。
如图,这里的有效数据列就是市、区县等等一直到有效期至,一共15
列,作为参数传给导出指令。
self.exportCols = scope.exportCols; for (let i = 0; i < table.rows.length; i ++) { // 获取每行的数据 var rowData = table.rows[i].cells; // 如果该列为正常列,循环内容 for (let j = 0; j < self.exportCols; j ++) { // 如果该列不存在,则赋值为空内容 var data = rowData[j] === undefined ? '' : rowData[j].innerHTML; // 拼接内容,用逗号分隔 csvString = csvString + data + ","; } // 删除最后多余的逗号 csvString = csvString.substring(0, csvString.length - 1); // 每行末尾添加\n进行换行 csvString = csvString + "\n"; }
原来内层循环的是所有数据列,现在改成传入的有效数据列数。
跨行表格
以这个图为例,第一行是有15
列的,但是第二行的数据只有4
列,因为其余的列是第一行设置rowspan
显示的,实际上第二行的tr
中只有人员资质4
个td
。
这就导致导出的时候第二行只有四个数据,并且是从左对齐的,所以我们需要在跨行的列添加空数据。
加一个条件判断,传入出现被跨行的列时剩余列的长度,用于区分是正常列还是被跨行的列。
if (self.isNormalItem(rowData)) { // 如果该列为正常列,循环内容 for (let j = 0; j < self.exportCols; j++) { // 如果该列不存在,则赋值为空内容 var data = rowData[j] === undefined ? '' : rowData[j].innerHTML; // 拼接内容,用逗号分隔 csvString = csvString + data + ","; } } else { // 根据有效数据中的跨行列拼接空数据 for (let j = 0; j < self.multipleRowCols; j ++) { csvString = csvString + ","; } // 根据有效数据减去跨行列,获得非跨行列,并拼接数据 for (let index = 0; index < self.exportCols - self.multipleRowCols; index ++) { csvString = csvString + rowData[index].innerHTML + ","; } }
资格证出现空列
因为这里需要为添加资格证按钮添加一个空列,导出的时候也会出现空列,效果并不好。
所以需要进行判断,当出现被跨行的列时,需要判断它的上一行的最后四项内容是否为空,如果为空,就应该把这个列的内容放到上一行。
if (self.isNormalItem(rowData)) { // 如果该列为正常列,循环内容 ... } else if (self.isFirstItem(csvString)) { // 如果当前跨行资质是当前人员的第一个资质,则将该资质添加到上一行 // 因为能添加人员资质的界面第一行的人员资质是空的,所以需要将该资 // 质添加到上一行 csvString = self.addDataToPreString(rowData, csvString); } else { // 根据有效数据中的跨行列拼接空数据 ... }
再加一个else
,如果当前被跨行的列是当前人员的第一个人员资质的话,就把这一行的人员资质数据添加到上一行人员资质的空白处。
下面是方法的具体实现:
// 判断当前表格中资质是否是第一项资质 self.isFirstItem = function(string) { // 分隔字符串 var csvArray = string.split(','); // 循环已有字符数组的倒数四个元素,判断是否有效 for (var i = csvArray.length - 1; i >= csvArray.length - 4; i--) { if (self.isValid(csvArray[i])) { return false; } } return true; }; // 判断当前字符是否有效 // 空字符和\n视为无效 self.isValid = function(char) { if (char === '' || char === '\n') { return false; } else { return true; } }; // 添加数据到字符串的上一行 self.addDataToPreString = function(data, string) { // 字符串分隔为数据 var csvArray = string.split(','); // 循环,将有效的数据添加到上一行 for (let i = 0; i < self.validNoMultipleRowCols; i++) { csvArray[csvArray.length - self.validNoMultipleRowCols + i] = data[i].innerHTML; } // 数组转换为字符串 return csvArray.join(','); };
最终实现导出的csv
效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
Atas ialah kandungan terperinci AngularJS导出Excel指令. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Jika semasa membuka fail yang perlu dicetak, kami akan mendapati bahawa garis bingkai jadual telah hilang atas sebab tertentu dalam pratonton cetak Apabila menghadapi situasi sedemikian, kami mesti menanganinya dalam masa Jika ini juga muncul dalam cetakan anda fail Jika anda mempunyai soalan seperti ini, kemudian sertai editor untuk mempelajari kursus berikut: Apakah yang perlu saya lakukan jika garis bingkai hilang semasa mencetak jadual dalam Excel? 1. Buka fail yang perlu dicetak, seperti yang ditunjukkan dalam rajah di bawah. 2. Pilih semua kawasan kandungan yang diperlukan, seperti yang ditunjukkan dalam rajah di bawah. 3. Klik kanan tetikus dan pilih pilihan "Format Sel", seperti yang ditunjukkan dalam rajah di bawah. 4. Klik pilihan "Sempadan" di bahagian atas tetingkap, seperti yang ditunjukkan dalam rajah di bawah. 5. Pilih corak garisan pepejal nipis dalam gaya garisan di sebelah kiri, seperti yang ditunjukkan dalam rajah di bawah. 6. Pilih "Sempadan Luar"

Excel sering digunakan untuk memproses data dalam kerja pejabat harian, dan selalunya perlu menggunakan fungsi "penapis". Apabila kami memilih untuk melakukan "penapisan" dalam Excel, kami hanya boleh menapis sehingga dua syarat untuk lajur yang sama Jadi, adakah anda tahu cara menapis lebih daripada 3 kata kunci pada masa yang sama dalam Excel? Seterusnya, izinkan saya menunjukkannya kepada anda. Kaedah pertama ialah menambah keadaan secara beransur-ansur pada penapis. Jika anda ingin menapis tiga butiran kelayakan pada masa yang sama, anda perlu menapis satu daripadanya langkah demi langkah terlebih dahulu. Pada mulanya, anda boleh menapis terlebih dahulu pekerja dengan nama keluarga "Wang" berdasarkan syarat. Kemudian klik [OK], dan kemudian tandakan [Tambah pilihan semasa untuk penapis] dalam hasil penapis. Langkah-langkahnya adalah seperti berikut. Begitu juga, lakukan penapisan secara berasingan sekali lagi

Dalam kerja dan kajian harian kami, kami menyalin fail Excel daripada orang lain, membukanya untuk menambah kandungan atau mengeditnya semula, dan kemudian menyimpannya Kadangkala kotak dialog semak keserasian akan muncul, yang sangat menyusahkan perisian, bolehkah ia ditukar kepada mod biasa? Jadi di bawah, editor akan membawakan anda langkah terperinci untuk menyelesaikan masalah ini, mari kita belajar bersama. Akhir sekali, pastikan anda ingat untuk menyimpannya. 1. Buka lembaran kerja dan paparkan mod keserasian tambahan dalam nama lembaran kerja, seperti yang ditunjukkan dalam rajah. 2. Dalam lembaran kerja ini, selepas mengubah suai kandungan dan menyimpannya, kotak dialog penyemak keserasian sentiasa muncul. Sangat menyusahkan untuk melihat halaman ini, seperti yang ditunjukkan dalam rajah. 3. Klik butang Pejabat, klik Simpan Sebagai, dan kemudian

eKami sering menggunakan Excel untuk membuat beberapa jadual data dan seumpamanya Kadang-kadang apabila memasukkan nilai parameter, kita perlu mencantumkan nombor tertentu Sebagai contoh, formula matematik sering digunakan lihat langkah terperinci: 1. Kaedah superskrip: 1. Pertama, masukkan a3 (3 ialah superskrip) dalam Excel. 2. Pilih nombor "3", klik kanan dan pilih "Format Sel". 3. Klik "Superskrip" dan kemudian "OK". 4. Tengok, kesannya macam ni. 2. Kaedah subskrip: 1. Sama seperti kaedah tetapan superskrip, masukkan "ln310" (3 ialah subskrip) dalam sel, pilih nombor "3", klik kanan dan pilih "Format Sel". 2. Semak "Subskrip" dan klik "OK"

Semasa memproses data, kadangkala kami menemui data yang mengandungi pelbagai simbol seperti gandaan, suhu, dll. Adakah anda tahu cara menetapkan superskrip dalam Excel? Apabila kami menggunakan Excel untuk memproses data, jika kami tidak menetapkan superskrip, ia akan menyusahkan untuk memasukkan banyak data kami. Hari ini, editor akan membawakan anda kaedah tetapan khusus superskrip excel. 1. Mula-mula, mari kita buka dokumen Microsoft Office Excel pada desktop dan pilih teks yang perlu diubah suai menjadi superskrip, seperti yang ditunjukkan dalam rajah. 2. Kemudian, klik kanan dan pilih pilihan "Format Cells" dalam menu yang muncul selepas mengklik, seperti yang ditunjukkan dalam rajah. 3. Seterusnya, dalam kotak dialog "Format Sel" yang muncul secara automatik

Kebanyakan pengguna menggunakan Excel untuk memproses data jadual Malah, Excel juga mempunyai program VBA fungsi fungsi adalah serupa. Biar saya perkenalkan kepada anda penggunaan fungsi iif. Terdapat fungsi iif dalam pernyataan SQL dan kod VBA dalam Excel. Fungsi iif adalah serupa dengan fungsi IF dalam lembaran kerja excel Ia melakukan pertimbangan nilai benar dan salah dan mengembalikan hasil yang berbeza berdasarkan nilai benar dan salah yang dikira secara logik. JIKA penggunaan fungsi adalah (syarat, ya, tidak). Penyataan IF dan fungsi IIF dalam VBA Penyataan IF dahulu ialah penyataan kawalan yang boleh melaksanakan penyataan yang berbeza mengikut syarat yang terakhir

Dalam kajian perisian, kami terbiasa menggunakan excel, bukan sahaja kerana ia mudah, tetapi juga kerana ia dapat memenuhi pelbagai format yang diperlukan dalam kerja sebenar, dan excel sangat fleksibel untuk digunakan, dan terdapat mod yang mudah untuk membaca Hari ini saya bawa Untuk semua orang: di mana untuk menetapkan mod bacaan excel. 1. Hidupkan komputer, kemudian buka aplikasi Excel dan cari data sasaran. 2. Terdapat dua cara untuk menetapkan mod bacaan dalam Excel. Yang pertama: Dalam Excel, terdapat sejumlah besar kaedah pemprosesan yang mudah diedarkan dalam susun atur Excel. Di sudut kanan bawah Excel, terdapat pintasan untuk menetapkan mod bacaan Cari corak tanda pangkah dan kliknya untuk memasuki mod bacaan Terdapat tanda tiga dimensi kecil di sebelah kanan tanda pangkah .

1. Buka PPT dan putar halaman ke halaman di mana anda perlu memasukkan ikon excel. Klik tab Sisipkan. 2. Klik [Objek]. 3. Kotak dialog berikut akan muncul. 4. Klik [Buat daripada fail] dan klik [Semak imbas]. 5. Pilih jadual excel yang hendak disisipkan. 6. Klik OK dan halaman berikut akan muncul. 7. Tandakan [Show as icon]. 8. Klik OK.
