[英]How to save from C# to Excel?
BOWorkerDetail oBOWorkerDetail = new BOWorkerDetail();
WorkerDetails oWorkerDetails = new WorkerDetails();
oWorkerDetails = oBOWorkerDetail.Gets();
oWorkerdetails是所有工人的集合。 我需要將此值保存在Excel中。 怎么做 ? 有人可以幫忙嗎?i在C#窗口平台vs05上工作。
您應該看一下http://www.connectionstrings.com/excel ,在那里您可以找到一些與ODBC引擎一起使用的連接字符串。 一個例子是:
OdbcConnection connection = new OdbcConnection(@"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" + xlsFilePath + "; ReadOnly=False; DefaultDir=" + xlsDir + ";");
(您應該在工作站上安裝Microsoft Excel)
那么您可以像這樣創建一個IDbCommand:IDbCommand command = connection.CreateCommand();
您可以像使用任何sql命令一樣使用此命令:為DataTable中的每個DataRow使用“ CREATE TABLE”,“ INSET INTO”。
希望這可以幫助...
我的建議是使用本機庫,避免使用Interop。 看看Aspose.Cells
如果沒有在運行該代碼的計算機上安裝Excel,則可以將其導出為XML或CSV(逗號分隔值)文件,然后在以后將其導入Excel。
如果使用XML,則也可以導出模式。
正如BarneyHDog在注釋中指出的那樣,Excel可以根據其認為的數據類型對數據進行處理。 因此,如果沿着這條路線走,請仔細檢查輸出是否正確處理。
這是一個使用Visual Studio Tools for Office 2008和Office Excel Interop將List>寫入新Excel文件的示例:
using System;
using System.Collections.Generic;
using System.Reflection;
using Microsoft.Office.Interop.Excel;
namespace Project1
{
public class ExportExcel
{
public void Export(string fileName, List<List<string>> data)
{
_Application excel = null;
_Workbook wb = null;
try
{
excel = new ApplicationClass { Visible = false }; // new excel application (not visible)
wb = excel.Workbooks.Add(Missing.Value); // new excel file
var sh = ((_Worksheet)wb.ActiveSheet); // current sheet
for (var i = 0; i < data.Count; i++)
{
var listMaster = data[i];
for (var j = 0; j < listMaster.Count; j++)
{
sh.get_Range(sh.Cells[j + 1, i + 1], sh.Cells[j + 1, i + 1]).Value2 = listMaster[j];
// get_Range(start, end) where start, end is in R1C1 notation
}
}
}
finally
{
if (wb != null)
{
wb.SaveAs(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
}
if (excel != null)
{
excel.Quit();
}
GC.Collect();
}
}
}
}
VSTO要求在客戶端計算機上安裝Excel
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.