質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

受付中

table2csvで作成したcsvファイルの最初のカンマを無くしたい

asagao1028
asagao1028

総合スコア0

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0回答

-1評価

0クリップ

76閲覧

投稿2022/09/22 10:42

jQueryプラグインのtable2csvを使って<table>のデータをcsvファイルをダウンロードする機能を作成しています。
ダウンロードはできましたがcsvファイルの一番最初にカンマが入ってしまいそのカンマだけ無くしたいです。
どのように改修すればよろしいでしょうか。

下記の部分を改修したいのですがどのように変更すればよいか思いつきません。
宜しくお願い致します。

if (i !== numCols - 1) {
output += options.separator;
} else {
output += options.newline;
}

JavaScript

(function ($) { "use strict"; const optionsDefaults = { /* action='download' options */ filename: "table.csv", /* action='output' options */ appendTo: "body", /* general options */ separator: ",", newline: "\n", quoteFields: true, trimContent: true, excludeColumns: "", excludeRows: "" }; let options = {}; function quote(text) { return "\"" + text.replace(/"/g, "\"\"") + "\""; } // taken from http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server function download(filename, text) { const element = document.createElement("a"); element.setAttribute("href", "data:text/plain;charset=utf-8,%EF%BB%BF,\ufeff" + encodeURIComponent(text)); element.setAttribute("download", filename); element.style.display = "none"; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function convert(table) { let output = ""; const rows = table.find("tr").not(options.excludeRows); const numCols = rows.first().find("td,th").filter(":visible").not(options.excludeColumns).length; rows.each(function (ignore, elem) { $(elem).find("td,th").filter(":visible").not(options.excludeColumns) .each(function (i, col) { const column = $(col); // Strip whitespaces const content = options.trimContent ? $.trim(column.text()) : column.text(); output += options.quoteFields ? quote(content) : content; if (i !== numCols - 1) { output += options.separator; } else { output += options.newline; } }); }); return output; } $.fn.table2csv = function (action, opt) { if (typeof action === "object") { opt = action; action = "download"; } else if (action === undefined) { action = "download"; } // type checking if (typeof action !== "string") { throw new Error("\"action\" argument must be a string"); } if (opt !== undefined && typeof opt !== "object") { throw new Error("\"options\" argument must be an object"); } options = $.extend({}, optionsDefaults, opt); const table = this.filter("table"); // TODO use $.each if (table.length <= 0) { throw new Error("table2csv must be called on a <table> element"); } if (table.length > 1) { throw new Error("converting multiple table elements at once is not supported yet"); } let csv = convert(table); switch (action) { case "download": download(options.filename, csv); break; case "output": $(options.appendTo).append($("<pre>").text(csv)); break; case "return": return csv; default: throw new Error("\"action\" argument must be one of the supported action strings"); } return this; }; }(jQuery));

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。