MySQLのExcelへのエクスポート方法の分析

MySQLのExcelへのエクスポート方法の分析

この記事では、MySQL を使用してデータを Excel にエクスポートする方法について説明します。ご参考までに、詳細は以下の通りです。

MySQL を Excel ファイルにエクスポートするのは非常に簡単です。次のようなコマンドを実行するだけです。

テーブルから * を選択して、出力ファイル 'd:/filename.xls' に格納します。

上記のコマンドをサーバーで実行すると、サーバーの D: ディスクにエクスポートされます。クライアントのコマンドラインモードで実行すると、クライアントの D: ディスクにエクスポートされます。クライアントで POST モードで実行すると、サーバーの D: ディスクにエクスポートされます。インポートを成功させるには、ログイン権限、選択権限、およびファイル権限が必要です。ファイル権限がない場合、select....into outfile や load data infile... などの操作は実行できません。

Excel ファイルとして保存するように求めるボタンを追加するというのは、Web ページ上のことを指しているのでしょうか? MySQL の操作が Web ページ上でブロックされている場合、MySQL は通常、サーバー側のスクリプト言語 (PHP、JSP、ASP など) を介して操作されます。以下では、PHP と JavaScript を例として使用して、データベース クエリ結果を xls として保存します (両方の方法を試しましたが、どちらも実行可能です)。

1.PHP方式:

次のパラメータを使用してheader()関数を呼び出します。

ヘッダー("コンテンツタイプ:application/msexcel");
ヘッダー("content-disposition:filename=file001.xls");

これら 2 つの関数は、PHP ファイルでデータベース クエリ操作を実行する前に配置されます。

通常、データベースクエリ操作が完了すると、 echo()printf()などの関数を通じてクライアントにクエリ結果を表示できます。データベース操作を実行する前に上記の 2 行を追加すると、クライアントは結果を表示しなくなりますが、xls としてダウンロードして保存するためのダイアログボックスが表示され、パスとファイル名を自由に選択できるようになります。ページ 1 にボタン <input type=button ...> またはリンク <a href=...> を配置して、ページ 2 を指すことができます。ページ 1 はクライアントに結果を表示するために使用され、ページ 2 (PHP ファイル) には上記の 2 行があり、データベースに接続してページ 1 と同じクエリ操作を実行するコードを記述します。このように、1 ページ目のこのリンクをクリックすると、ダウンロードして xls として保存するためのダイアログ ボックスがポップアップ表示されます。保存される内容は、1 ページ目に表示されるクエリ結果です。保存された形式は xls です。保存後、Excel で開いて操作できます。

PHP はサーバー側のスクリプトです。上記の方法を使用すると、実際には同じデータ結果がサーバーからクライアントに 2 回送信されます。1 回目は表示に使用され、2 回目はダウンロード用に xls ファイルにパッケージ化するために使用されます。

2. JavaScript メソッド:

まず、データが配置されているページの <head> セクションで JS 関数を定義します。

<ヘッド>
<スクリプト言語="javascript">
関数 xSaveAsxls( xResult , xFileName ){
var ow=window.open();
(オウ){
 document.write(結果);
 document.execCommand('Saveas', true, xFileName);
 近い();
}
}
</スクリプト>
</head>

次に、データを表示する <table> の前に <div id=div_id> を配置し、</table> の後に </div> を配置します。

次に、以下のボタンを作成します。

<input type="button" value="Excel ファイルとして保存" onclick=xSaveAsxls
(document.all.div_id.innerHTML,'ファイル名.xls')>

これで完了です。「Excel ファイルとして保存」と表示されます。クリックすると、保存ダイアログボックスがポップアップ表示されます。保存される内容は、xls 形式のデータ結果セットです。

JS はブラウザ側のスクリプトです。このメソッドは、表示された結果を xls として保存するために使用されます。データはサーバーからクライアントに 1 回だけ送信されるため、送信リソースが節約されます。

もう 1 つの方法としては、クエリ結果セットを PHP から JS 配列変数に渡し、それをクライアントに渡して、FileObjectSystem を呼び出して操作することを検討します。これは単なるアイデアであり、まだ実践していません。

不適切な点がありましたらご指摘ください。

文字化けの問題がある場合: 次の文を使用できます

select convert(dname using gb2312),email from d_dealerinfo into outfile 'd:/d.xls';

dnameは中国語ではどこにありますか

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • Linux mysqldump によるデータベース、データ、テーブル構造のエクスポートの詳細な説明
  • Navicat for MySQLを使用してテーブル構造スクリプトをエクスポートする簡単な方法
  • mysql mysqldumpはテーブル構造のみをエクスポートするか、データ実装方法のみをエクスポートします
  • MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明
  • Python3はmysqlエクスポートExcelメソッドを実装します
  • MySQL の SELECT ステートメントの結果を Excel ファイルにエクスポートする際の問題と解決策
  • MySQL の中国語文字化けの問題を解決し、SQL 文と Excel にエクスポートする方法 [画像とテキスト]
  • PHP は MySQL データを Excel ファイルにエクスポートします (fputcsv)
  • MySQL テーブル構造を Excel にエクスポートする方法

<<:  シームレスなカルーセルを実現するjQueryプラグイン

>>:  Zabbix の psk 暗号化と zabbix_get 値の組み合わせ

推薦する

ユーザーのニーズがマーケティング指向のデザインにつながる

<br />それぞれのトピックについて、チーム内でメールで議論します。議論が白熱するにつ...

Dockerコンテナシェルスクリプトの実行ステータスを監視する方法

シナリオ会社のプロジェクトはDockerでデプロイされています。原因不明ですが、コンテナが時々停止し...

Windows 7 で Python 3.4 を使って MySQL データベースを使用する

Python 3.4でMySQLデータベースを使用する詳細なプロセスは次のとおりです。 Window...

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...

MySql インデックスの詳細な紹介と正しい使用方法

MySql インデックスの詳細な紹介と正しい使用方法1. はじめに:インデックスはクエリ速度に重大な...

Vue は無限ロードウォーターフォールフローを実装します

この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...

Nginx リバース プロキシと負荷分散を実装する方法 (Linux ベース)

ここで nginx のリバース プロキシを試してみましょう。リバースプロキシ方式とは、インターネット...

HTML ボディタグと HTML でよく使われる制御タグの詳細な説明

1. <body> タグ: Web ページの本体をマークするために使用されます。body...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

非常に詳細な MySQL8.0.22 のインストールと設定のチュートリアル

みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...

Alibaba Cloud Server Tomcatにアクセスできません

目次1. はじめに2. 解決策2.1 ファイアウォールを設定してポートを開く2.3 ポートを確認し、...

Linux で NFS ファイル共有サーバーを構築するための詳細な手順

Linux が NFS サーバーを構築異なるオペレーティング システム間でデータを共有するために、通...

Vueのカスタムディレクティブの詳細なガイド

目次1. カスタム指示とは何ですか? 2. 指示をカスタマイズする方法フック機能3. 応用シナリオ入...

Apache Bench ストレステストツールの実装原理と使用状況分析

1: スループット(1秒あたりのリクエスト数)サーバーの同時処理能力を定量的に表したもので、reqs...

MySQL で 1 つのテーブルのフィールドを使用して別のテーブルのフィールドを更新する方法

1. 1列を変更する 学生の更新、都市c s.city_name = c.name を設定します こ...