Windowsフォームアプリを作りたいです。textBox にテキストを書き込むことができ、ボタンを押すと、アプリが Excel ファイルを作成し、ボックスからテキストを書き込みます。私は UI だけを完成させました。いくつかの基本は知っていますが、MS Visual C++ と Excel を組み合わせる方法がわかりません。
2 に答える
この回答には多くのライブラリがリストされています: Excelファイルを操作するためのシンプルで信頼できるCライブラリは何ですか?
また、「ExcelFormat Library」は基本的なものですが、必要なものはすべて揃っているようです。無料で使いやすいです。
Number Duckは、私が作成した商用ライブラリです。
これはhttps://code.google.com/p/excellibrary/から取得した C # コードです。このコードを VC++ で少し試してみて、機能させてください。:) 構文は異なりますが、考えてみると、すべて同じであることがわかります。;) まず、ExcelLibrary.dll ファイルをダウンロードして、参照プロジェクトに追加する必要があります。次の 2 行を追加するより: using namespace ExcelLibrary::CompoundDocumentFormat; 名前空間 ExcelLibrary::SpreadSheet を使用します。
このプロジェクトの目的は、
COM 相互運用機能や OLEDB 接続を使用せずに Excel ファイルを作成、読み取り、変更するためのネイティブ .NET ソリューションを提供することです。
現在、.xls (BIFF8) 形式が実装されています。将来、.xlsx (Excel 2007) もサポートされる可能性があります。
Example code:
//create new xls file
string file = "C:\\newdoc.xls";
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
worksheet.Cells[0, 1] = new Cell((short)1);
worksheet.Cells[2, 0] = new Cell(9999999);
worksheet.Cells[3, 3] = new Cell((decimal)3.45);
worksheet.Cells[2, 2] = new Cell("Text string");
worksheet.Cells[2, 4] = new Cell("Second string");
worksheet.Cells[4, 0] = new Cell(32764.5, "#,##0.00");
worksheet.Cells[5, 1] = new Cell(DateTime.Now, @"YYYY\-MM\-DD");
worksheet.Cells.ColumnWidth[0, 1] = 3000;
workbook.Worksheets.Add(worksheet);
workbook.Save(file);
// open xls file
Workbook book = Workbook.Load(file);
Worksheet sheet = book.Worksheets[0];
// traverse cells
foreach (Pair<Pair<int, int>, Cell> cell in sheet.Cells)
{
dgvCells[cell.Left.Right, cell.Left.Left].Value = cell.Right.Value;
}
// traverse rows by Index
for (int rowIndex = sheet.Cells.FirstRowIndex;
rowIndex <= sheet.Cells.LastRowIndex; rowIndex++)
{
Row row = sheet.Cells.GetRow(rowIndex);
for (int colIndex = row.FirstColIndex;
colIndex <= row.LastColIndex; colIndex++)
{
Cell cell = row.GetCell(colIndex);
}
}