如何将html表导出为pdf或者在angularjs中excel?

时间:2017-04-26 12:28:40

标签: angularjs angularjs-directive export-to-excel export-to-pdf html-to-pdf

我尝试了很多方法,但要么限制了pdf中的列数,要么它们有高度限制。 而对于excel,当我在MAC中打开时,它会显示HTML。 任何人都可以通过任何方式建议我可以用超过4列导出pdf并且对行数没有限制。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用jsPDF库来执行此操作

HTML

  <table id="table">
     <thead>
     <tr>
       <th>Column 1</th>
       <th>Column 2</th>
       <th>Column 3</th>
       <th>Column 4</th>
       <th>Column 5</th>
       <th>Column 6</th>
     </tr>

     </thead>
    <tbody>
      <tr>
         ... 
      </tr>

    </tbody>

  </table>

  <export-to-pdf elem-id="table"></export-to-pdf>

JS

  app.directive('exportToPdf', function(){

   return {
       restrict: 'E',
       scope: {
            elemId: '@'
       },
       template: '<button data-ng-click="exportToPdf()">Export to PDF</button>',
       link: function(scope, elem, attr){

          scope.exportToPdf = function() {

              var doc = new jsPDF();

              console.log('elemId 12312321', scope.elemId);

              doc.fromHTML(
              document.getElementById(scope.elemId).innerHTML, 15, 15, {
                     'width': 170
              });

              doc.save('a4.pdf')

           }
       }                   
   }

});    

在我的JSFiddle中example我没有达到列的限制,但是我没有找到关于添加css的解决方案,所以你必须为html代码做内联样式