htmlテーブルをpowerpointに変換するjqueryまたはjavascriptソリューションがあるかどうかを知りたいと思います。私が得た解決策はhtml table exportです。ここではすべてのエクスポートオプションがありますが、私はパワーポイントだけの解決策が必要です。私は、HTMLテーブルのエクスポートを使用することができますが、私の懸念は、1つのエクスポート私は全体のプラグインを使用する必要があります。 pptのサンプルコードのみがありますか?クライアント側でhtmlテーブルをpptにエクスポートしますか?
答えて
ライブラリのサイズが懸念される場合は、自分でjsライブラリを変更することが最善の方法です。パワーポイントの機能に関係しないかもしれないコードの断片を取り出す。そしてテストし、徐々にライブラリを小さくして小さくします。それ以外は、すでにこの解決策が利用可能であることは明らかではありませんでした。
上記のエクササイズを行うことで、エクスポートポイントをPowerpoint機能に維持したまま、tableExport.jsファイルを12kbから5kb(最小化されていない)にすることができました。
/*The MIT License (MIT)
Copyright (c) 2014 https://github.com/kayalshri/
Permission is hereby granted....
....
*/
(function($){
$.fn.extend({
tableExport: function(options) {
var defaults = {
separator: ',',
ignoreColumn: [],
tableName:'yourTableName',
type:'powerpoint',
escape:'true',
htmlContent:'false',
consoleLog:'false'
};
var options = $.extend(defaults, options);
var el = this;
if(defaults.type == 'powerpoint'){
//console.log($(this).html());
var excel="<table>";
// Header
$(el).find('thead').find('tr').each(function() {
excel += "<tr>";
$(this).filter(':visible').find('th').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "<td>" + parseString($(this))+ "</td>";
}
}
});
excel += '</tr>';
});
// Row Vs Column
var rowCount=1;
$(el).find('tbody').find('tr').each(function() {
excel += "<tr>";
var colCount=0;
$(this).filter(':visible').find('td').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "<td>"+parseString($(this))+"</td>";
}
}
colCount++;
});
rowCount++;
excel += '</tr>';
});
excel += '</table>'
if(defaults.consoleLog == 'true'){
console.log(excel);
}
var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>";
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += "{worksheet}";
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;
excelFile += "</body>";
excelFile += "</html>";
var base64data = "base64," + $.base64.encode(excelFile);
window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data);
}
function parseString(data){
if(defaults.htmlContent == 'true'){
content_data = data.html().trim();
}else{
content_data = data.text().trim();
}
if(defaults.escape == 'true'){
content_data = escape(content_data);
}
return content_data;
}
}
});
})(jQuery);
あなたのtableExport.jsがタイプとしてパワーポイントに渡すことで、このコードを使用してファイルと同じようにそれを呼び出す置き換えることができ、またはあなたはそれを省略することができますし、それはまだ動作します。
私は同じプラグインを使用していますが、パワーポイントのために、その私にブランクデータを示し、 また、私は問題のためのGitHubにチェックしています https://github.com/wenzhixin/bootstrap-table/issues/1660 それはそれはPowerPoint用に実行可能なものは、PowerPointに必要な変更点を教えてください。 –
@ AlokJha申し訳ありません、このプラグインを実際に使用したことはありません。しかし、あなたが参照したリンクでは、bootstrap-tableにPDFオプションがあったように見えますが、サポートされていないので、削除されました。参照してください:https://github.com/wenzhixin/bootstrap-table/commit/0679c9ed319b1629f2088cb9089acf856f4e87dd – Trevor
MS-Officeに関連する部分のみを使用するようにJSファイルを変更することで、同じ解決策を使用することができます。実際、Porwerpointテーブルを変換する関数はExcelとWordを変換する関数と同じです。
これを行うには、次ののすべてtableExport.js内容変更のみjquery.base64.jsファイル、およびファイルtableExport.jsが、必要があるでしょう:
/*The MIT License (MIT)
Copyright (c) 2014 https://github.com/kayalshri/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.*/
(function($){
$.fn.extend({
tableExport: function(options) {
var defaults = {
separator: ',',
ignoreColumn: [],
tableName:'yourTableName',
type:'excel',
escape:'true',
htmlContent:'false',
consoleLog:'false'
};
var options = $.extend(defaults, options);
var el = this;
if(defaults.type == 'excel' || defaults.type == 'doc'|| defaults.type == 'powerpoint' ){
//console.log($(this).html());
var excel="<table>";
// Header
$(el).find('thead').find('tr').each(function() {
excel += "<tr>";
$(this).filter(':visible').find('th').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "<td>" + parseString($(this))+ "</td>";
}
}
});
excel += '</tr>';
});
// Row Vs Column
var rowCount=1;
$(el).find('tbody').find('tr').each(function() {
excel += "<tr>";
var colCount=0;
$(this).filter(':visible').find('td').each(function(index,data) {
if ($(this).css('display') != 'none'){
if(defaults.ignoreColumn.indexOf(index) == -1){
excel += "<td>"+parseString($(this))+"</td>";
}
}
colCount++;
});
rowCount++;
excel += '</tr>';
});
excel += '</table>'
if(defaults.consoleLog == 'true'){
console.log(excel);
}
var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>";
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += "{worksheet}";
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;
excelFile += "</body>";
excelFile += "</html>";
var base64data = "base64," + $.base64.encode(excelFile);
window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data);
}
function parseString(data){
if(defaults.htmlContent == 'true'){
content_data = data.html().trim();
}else{
content_data = data.text().trim();
}
if(defaults.escape == 'true'){
content_data = escape(content_data);
}
return content_data;
}
}
});
})(jQuery);
を jspdfフォルダを含む他のすべてのファイルを削除できます。
この方法でテーブルをExcel、doc、PowerPointの形式にエクスポートすることができます(実際にはdocとpowerpointにエクスポートすると、Excelのスプレッドシートがドキュメントに埋め込まれるので、プラグインはすべて3つフォーマット)
は、私が良く、このために、サーバー側を使用することをお勧めしたいオリジナルのプラグインと同じように
さて、私はこれを試し、あなたに戻ってきます。 –
- 1. HTMLテーブルのクライアント側を生成する
- 2. クライアント側でExcelをエクスポート
- 3. クライアント側のHTMLキャッシュ
- 4. HTML/PHPページ(クライアント側)には、
- 5. 大きなデータセットをエクスポートしてクライアント側でExcelにエクスポートするにはどうすればよいですか?
- 6. ExcelテーブルをHTMLにエクスポート
- 7. HTMLテーブルをExcelにエクスポート
- 8. クライアント側でJavascriptの配列データをExcelにエクスポートする方法
- 9. クライアント側とサーバー側のレンダリングオフラインのHTML
- 10. クライアント側とサーバー側の両方からHTMLを入力する
- 11. HTMLクライアント側でXMLを読む?
- 12. HTMLテーブルをExcelにエクスポートするには
- 13. テーブル内にクライアント側のテンポラリデータを表示
- 14. AngularJS(HTML、CSS)からクライアント側のPDFへ
- 15. 「エクスポート」なしでPNGとしてPPTを保存するVBA
- 16. MVC divのHTMLテーブルからExcelにエクスポート
- 17. ExcelにhtmlテーブルをエクスポートするJavascript
- 18. htmlテーブルをPDFまたはイメージとしてエクスポートするには?
- 19. JasperReportsクライアント側を印刷しますか?
- 20. ASP.NETサーバー側またはクライアント側のHTMLコントロール?
- 21. HTML - 側の二つのテーブル側
- 22. HTMLテーブルの列をテキストリストにエクスポート
- 23. HTMLテーブルをMS Excel 2010にエクスポート
- 24. テーブルhtmlテーブルをPDFにエクスポートするには?
- 25. htmlテーブルをExcelのxlsフォーマットにエクスポートできません
- 26. htmlテーブルをPDFにエクスポートして、すべてのCSSを元に戻します。
- 27. htmlテーブルにエクスポートするcsvがIEで動作しない
- 28. サーバが返信したHTMLページをクライアント側に表示
- 29. クライアント側のjavascript変数をサーバー側のPHPに渡します
- 30. angle2のサーバー側にクライアント側ログをキャプチャします
をプラグインを使用してください。 –
@OscarJaraクライアントに処理の一部を委譲できる場合、なぜサーバーをオーバーロードするのですか?サーバーはHTMLテーブルを生成しますが、負荷は軽いですが、ドキュメントをダウンロードする必要がある場合は、サーバーからの負荷データが不必要に増加します。セキュリティ違反ではないので、クライアント側でフォーマットをエクスポートするのはかなり合理的です。 –