【解決方法】ユーザーが入力した値をHTMLページのExcelファイルのCSVファイルに書き込む方法


HTMLのテキストボックスの値をCSVまたはExcelにエクスポートするにはどうすればよいですか
ローカルコンピュータから使用するHTMLフォームを作成し、フォームデータをCSVファイルに保存したいと考えています。

フォームが送信されるたびに、CSV ファイルに行が追加される必要があります。

これはローカルで実行する必要があるため、PHP や JSP は使用できません。

解決策 2

これがお役に立てば幸いです –

HTML
<html>
  <head>
  <script language="javascript">
    function WriteToFile(passForm) {
      var fso = new ActiveXObject("Scripting.FileSystemObject");
      var fileLoc = "D:\\sample.csv";
      var file = fso.CreateTextFile(fileLoc, true);
      file.writeline(passForm.FirstName.value + ',' +
                     passForm.LastName.value);
      file.Close();
      alert('File created successfully at location: ' + fileLoc);
     }
  </script>
  </head>
  <body>
  <p>create a csv file with following details -</p>
  <form>
    Type your first name: <input type="text" name="FirstName" size="20"><br>
    Type your last name: <input type="text" name="LastName" size="20"><br>
    <input type="button" value="submit" onclick="WriteToFile(this.form)">
  </form>
  </body>
</html>
</br></br></html>

こちらのリンクも参考にしてください Javascriptを使用したクライアント側でのファイル処理[^] さらなる参考のために。

よろしく、
ニラル・ソニ

解決策 1

WoodLegNamedSmith が出した答えが気に入らないからといって、それが正しいことをやめるわけではありません。
質問をぶつけて、より自分好みの答えを得ようとしても、コンピューターの仕組みは変わりません。

答えをもう一度繰り返すと、JavaScript はクライアント PC のハードドライブにアクセスできず、サーバー上で実行されるコードもアクセスできません。 セキュリティ上の考慮事項により、それは禁止されています。

Excel ファイルや CSV ファイル (またはテキスト ファイル、PDF ファイル、その他の種類のファイル) を PC に直接書き込むことはできません。できることは、それをサーバーに書き込み、ダウンロードして保存できるようにすることだけです。クライアントに対して – それでも、クライアントがデータを保存する場所や、クライアントがデータをダウンロードすることさえ、まったく制御できません。

WoodLegNamedSmith 氏が言うように、ActiveX コントロールを使用して実行できる可能性がありますが、最近ではこれらのコントロールがどの PC にもインストールされる可能性は非常に低いです。

解決策 3

また、有効期限が無期限の Cookie を作成し、それを疑似データベースとして使用して、テキスト ファイルの生成に使用できる CSV 形式のテキスト ブロックを生成することもできます。 その後、永続性を保証できる場合は毎回 Cookie をリロードするか、Web ページをローカルで開くときに保存された CSV を解析することができます。 これは作業を始めるのに役立ちます。

コードは以下から取得しました: JavaScript:ファイルを作成して保存する – コードログ[^]; クレジット: Awesomeness01

JavaScript
function download(text, name, type) {
  var a = document.getElementById("a");
  var file = new Blob([text], {type: type});
  a.href = URL.createObjectURL(file);
  a.download = name;
}
<a href="" id="a">click here to download your file</a>
<button onclick="download('file text', 'myfilename.txt', 'text/plain')">Create file</button>

コメント

タイトルとURLをコピーしました