2016-10-12 25 views
1

7列のExcelシートがあり、その中の2列が空です。 SQL Serverにいくつかの列と完全なデータを持つ親テーブルがあります。SQL ServerテーブルからExcelシートの列にデータを挿入

ASP.NET MVCのSQL Serverテーブルからデータを取得することで、これら2つの空の列をどのように埋めることができますか?前もって感謝します!

答えて

2

NPOIまたはEPPlusなどのC#ライブラリを使用してExcelシートを変更しましたか?

Entity FrameworkとNuGetを使用してプロジェクトにインストールする方法についてよく知っていますか? LINQとともにEFを使用して、SQLテーブルのデータを取得したいとします。それはアプリケーションの流れとExcelシートの更新をトリガーするものに依存しますが、コントローラ内でユーザーのやりとりに応答してdbデータにアクセスしてそれに書き込むアクションメソッドが必要な場合がありますシート。または、SQL ServerからExcelにデータを1回抽出して読み込むだけですか?これはウェブアプリか基本的なコンソールアプリになりますか?

EDIT(EPPlus例):ここで

は、簡単な例私はちょうどEPPlusを使用してExcelシートを変更する方法を示している一緒に入れます。この例では

var file = new FileInfo("C:\\Projects\\ConsoleApplication1\\test.xlsx"); 
    if (file.Exists) 
    { 
     using (ExcelPackage ep = new ExcelPackage(file)) 
     { 
      var workSheet = ep.Workbook.Worksheets[1]; 
      workSheet.Cells[2, 4].Value = "test"; 
      ep.Save(); 
     } 
    } 

、私はExcelを開きますSystem.IOのFileInfoを使用してファイルを作成し、ファイルが存在することを前提に新しいExcelPackageオブジェクトを作成し、FileInfoオブジェクトをパラメータとして渡します。私は最初のワークシートにアクセスし、2列目、4列目のセルにアクセスし、値を「テスト」に設定します。最後に、変更を保存します。ご覧のとおり、使用するのは非常に簡単です。さらに詳しい説明や拡張された例が必要な場合は、教えてください。 (あなたはNuGetからEPPlusパッケージをインストールした後で)

だけでSystem.IOとOfficeOpenXmlを含めることを忘れないでください:

using OfficeOpenXml; 
using System.IO; 

EDIT(Entity Frameworkのガイダンス):

をあなたがしていると仮定すると、既存のデータベースを既に持っているため.NET Coreを使用していないため、Entity Framework 6でより簡単なDatabase Firstアプローチを使用してSQL Serverデータベースからデータをクエリして取得することをお勧めします。 hereの指示に従って、Webアプリケーション内にエンティティデータモデルを設定します。 EDMXファイルを作成し、アクションメソッドを作成したコントローラを作成したら、LINQクエリを作成してデータを取得する準備が整いました。私はあなたのdbスキーマの詳細や列を埋めるために必要なデータの量、あるいはユーザーがクエリの一部として入力を提供するかどうかを知らないので、特定のクエリを提供するのが少し難しくなります例を示しますが、私はあなたに一般的な例を示し、うまくいけばそこからそれを走らせることができます。ここでは、データベースへのクエリとExcelシートへのデータの書き込みを組み合わせた、すばやく汚れた例を示します。この例では、私はCarsテーブルのすべてのBlue車を照会し、結果セットの各車のMakeとModelをExcelスプレッドシート(​​最初の行から開始)に書き出します。私は結果セットを調べるときに行数を増やします。これは、Makeが最初の列にあり、モデルがシートの2番目の列にあると仮定しています。

+0

1.私はアクションメソッドを作成し、次にローカルからExcelファイルを取得し、SQLサーバーのデータで更新する必要があります。 – Sribin

+0

@Sribin EPPlusを使用してExcelスプレッドシートを変更する具体的な例を含めるために、上記の回答を更新しました。私はこれが役立つことを願っていますEntity Frameworkをセットアップし、データを取得するためにデータベースを照会する際に助けが必要な場合は、お知らせください。 – Dave

+0

「テスト」の代わりに説明して、SQLサーバーから値を与える方法と、列全体を入力する必要があることに注意してください。 – Sribin

関連する問題