這篇文章主要介紹了關於AngularJS匯出Excel指令,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
##Excel匯出想法
參考文章- angularjs使用指令實作table導出csv專案中使用到了匯出Excel功能,潘老師已經在部落格中將表格匯出為
csv的技術難點實現,剩下的,只是根據實際的業務需求對該指令進行完善。
HTML程式碼都匯出了,我們要的應該是人員資訊和人員資格資訊。
15列,作為參數傳給導出指令。
self.exportCols = scope.exportCols; for (let i = 0; i 原來內層循環的是所有資料列,現在改成傳入的有效資料列數。 <p></p>跨行表格<h2></h2><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/680/867/883/1531123509788663.png?x-oss-process=image/resize,p_40" class="lazy" title="1531123509788663.png" alt="AngularJS匯出Excel指令"></p>以這個圖為例,第一行是有<p>15<code>列的,但是第二行的數據只有</code>4<code>列,因為其餘的列是第一行設定</code>rowspan<code>顯示的,實際上第二行的</code>tr<code>中只有人員資格</code>4 <code>個</code>td<code>。 </code></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/843/685/233/1531123518744940.png?x-oss-process=image/resize,p_40" class="lazy" title="1531123518744940.png" alt="AngularJS匯出Excel指令"></p>這就導致導出的時候第二行只有四個數據,並且是從左對齊的,所以我們需要在跨行的列中添加空數據。 <p></p>加一個條件判斷,傳入出現被跨行的列時剩餘列的長度,用來區分是正常列還是被跨行的列。 <p></p><pre class="brush:php;toolbar:false">if (self.isNormalItem(rowData)) { // 如果该列为正常列,循环内容 for (let j = 0; j 資格證出現空白列<h2></h2><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/802/452/143/1531123537590884.png?x-oss-process=image/resize,p_40" class="lazy" title="1531123537590884.png" alt="AngularJS匯出Excel指令"></p>因為這裡需要為新增資格證按鈕新增一個空白列,匯出的時候也會出現空白列,效果並不好。 <p></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/767/939/808/1531123544352657.png?x-oss-process=image/resize,p_40" class="lazy" title="1531123544352657.png" alt="AngularJS匯出Excel指令"></p>所以需要進行判斷,當出現被跨行的列時,需要判斷它的上一行的最後四項內容是否為空,如果為空,就應該把這個列的內容放到上一行。 <p></p><pre class="brush:php;toolbar:false">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 最終實作匯出的<p>csv<code>效果:</code></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn//upload/image/976/352/627/1531123556704357.png?x-oss-process=image/resize,p_40" class="lazy" title="1531123556704357.png" alt="AngularJS匯出Excel指令">##以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網! </p><p>相關推薦:</p><p></p>AngularJS 文件閱讀的指令scope<p class="comments-box-content"><a title="AngularJS 文档阅读的指令scope" href="http://www.php.cn/js-tutorial-406295.html" target="_blank"></a><br></p>AngularJS 表格匯出新增額外資訊<p class="mt20 ad-detail-mm hidden-xs"><a title="AngularJS 表格导出添加额外信息" href="http://www.php.cn/js-tutorial-406294.html" target="_blank"></a></p>
以上是AngularJS匯出Excel指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章带大家继续angular的学习,简单了解一下Angular中的独立组件(Standalone Component),希望对大家有所帮助!

本篇文章带大家深入了解一下angular的状态管理器NgRx,介绍一下NgRx的使用方法,希望对大家有所帮助!

Angular项目过大,怎么合理拆分它?下面本篇文章给大家介绍一下合理拆分Angular项目的方法,希望对大家有所帮助!

怎么自定义angular-datetime-picker格式?下面本篇文章聊聊自定义格式的方法,希望对大家有所帮助!

本篇文章带大家了解一下Angular中的独立组件,看看怎么在Angular中创建一个独立组件,怎么在独立组件中导入已有的模块,希望对大家有所帮助!

本篇文章带大家了解一下依赖注入,介绍一下依赖注入解决的问题和它原生的写法是什么,并聊聊Angular的依赖注入框架,希望对大家有所帮助!

本篇文章带大家深入了解一下angular中的几个特殊选择器:host、:host-context、::ng-deep,希望对大家有所帮助!

多年的学习经验告诉我,了解一个概念最快的方式是看他的实践,所以我整理出了 8 个在学习 Angular 过程中可以参考的开源项目,学习如何怎么使用 Angular 框架~


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具