私はMicrosoft Visual Studio 2015で作業していて、プロジェクトをExcelスプレッドシートにリンクできるようにしたいと考えています。ExcelをC言語でリンクする
私が達成したいのはこれです。特定のセルでその番号を使用できるプログラムを作成し、そのプログラムで計算を行うだけです。一例として、セルD4をとり、その値を平均としてポアソン分布を作成します。
私はMicrosoft Visual Studio 2015で作業していて、プロジェクトをExcelスプレッドシートにリンクできるようにしたいと考えています。ExcelをC言語でリンクする
私が達成したいのはこれです。特定のセルでその番号を使用できるプログラムを作成し、そのプログラムで計算を行うだけです。一例として、セルD4をとり、その値を平均としてポアソン分布を作成します。
プロジェクトの参照でMicrosoft.Office.CoreおよびMicrosoft.Office.Interop.Excelへの参照を追加する必要があります。 次に、クラスへの参照を追加します。
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
あなたのコードでExcelシートを開く/作成/操作することができます。それはウェブ上の情報の多くです。この例
をcomment--する
アップデートが完了したら、保存するための新しいワークシートを開いています。
string fileName = "C:\\MyFileName.xlsx";
myWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
myWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(myWorkSheet);
releaseObject(myWorkBook);
releaseObject(xlApp);
ファイルを保存し、シート上のいくつかの作業
myWorkSheet.Cells[curXLRow, 5] = "PF";
myWorkSheet.Cells[curXLRow, 6] = "PA";
を完了
Excel.Application xlApp;
Excel.Workbook myWorkBook;
Excel.Worksheet myWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
myWorkBook = xlApp.Workbooks.Add(misValue);
myWorkSheet = (Excel.Worksheet)myWorkBook.Worksheets.get_Item(1);
は、この情報がお役に立てば幸いです。私は既存のExcelファイルを開く例はありません。しかし、見上げる:すでに示唆したように
xlApp.Workbooks.Open(lots of parameters...);
私はこれを使用しましたが、Excel.Worksheetと書かれた領域に混同しましたexcelSheet =ここに何を入れますか Excel.Range rng =(Excel.Range)excelSheet.Cells [10、10]; –
を、むしろInterop
よりも、EPPlusでOpen XML SDK 2.5を使用することをお勧めします。理由は、hereで説明されています。いくつかの例でhereを示すようEPPlus入門
は非常に簡単です:
- https://support.microsoft.com/en-us/kb/302084 - http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm –
お気に入りの検索エンジンを使用してください。キーワードは「c#excel」および/または「c#office interop」 –
です。openXml [link](https://msdn.microsoft.com/en-us/library/office/bb448854.aspx)を使用することができます。ライセンス。 Interopを使用する場合は、クライアントマシンで使用するためのライセンスが必要です。 –