[英]opening excel file via c# application
My application using excel file in order to read data from web (using excel web query and reading the data from the excel file)
我使用的 excel 文件名为 webGate。
我的问题是我不希望将 webGate 呈现给用户。
如果用户在我的应用程序正在读取 webGate 文件时打开 excel 文件(任何其他文件),则 webGate 文件将与用户文件一起呈现
(即用户打开 excel 文件并显示两个文件,其中一个是 webGate)
关于如何使用该文件但它永远不会呈现给用户的任何想法?
谢谢
伊兰
你想达到什么目标? 它还不清楚。 关于如何使用该文件但它永远不会呈现给用户的任何想法?
如果要打开/修改 C# 代码中的文件: http://www.codeproject.com/KB/office/csharp_excel.aspx
您可以使用 an.xls 作为 OLEDB 数据源。 您使用 Microsoft.Jet.OLEDB.4.0 数据提供程序。
这意味着您正在从 excel 表中读取数据,而不是在 Excel 应用程序中将 .xls 作为文档打开。
这不是自动化。 它不会启动 Excel.exe。 它不需要 Excel.exe。 不需要第三方组件。 没有额外费用(除了 Windows 的费用)。 它适用于服务器端应用程序。
片段:
void CreateExcelDocThroughAdoNet()
{
const string Filename= "adonet-excel.xls";
const string strConnect =
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Filename + ";" +
"Extended Properties=\"Excel 8.0;HDR=yes;\"";
try
{
conn = new System.Data.OleDb.OleDbConnection(strConnect);
CreateTable();
for(int i=0; i < 4; i++) Insert(i);
}
catch (System.Exception ex)
{
System.Console.WriteLine("Exception: " + ex.Message+ "\n " + ex.StackTrace);
}
}
private void CreateTable()
{
string strSql = "CREATE TABLE SampleTable ( Ix NUMBER, CustName char(255), Stamp datetime )";
System.Data.OleDb.OleDbCommand cmd= new System.Data.OleDb.OleDbCommand(strSql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
private void Insert(int ix)
{
string strSql = "insert into [SampleTable] ([ix],[CustName],[Stamp]) value(@p1,@p2,@p3)";
System.Data.OleDb.OleDbCommand cmd= new System.Data.OleDb.OleDbCommand(strSql, conn);
cmd.Parameters.Add("@p1", System.Data.OleDb.OleDbType.Numeric).Value = ix;
cmd.Parameters.Add("@p2", System.Data.OleDb.OleDbType.VarChar).Value = "Some text";
cmd.Parameters.Add("@p3", System.Data.OleDb.OleDbType.Date).Value = System.DateTime.Now;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
我不知道这是否会太麻烦,但是将 excel 文件导出为 xml 可能是值得的(如果可能的话,我不知道你的 ZBF57C906FA7D2BB66D07Z372E4 看起来像什么)那样的数据。
为此,我使用Infragistics 工具集,效果很好(支持所有 excel 版本,并且功能非常丰富)
它可能不适合您的需求,因为它不是免费的,但如果您问我,它在很大程度上是值得的
如果项目需要不到 30 天,您可以使用SpreadsheetGear 的免费评估 .NET将 Excel 工作簿嵌入到 .NET 应用程序中,而无需将其呈现给用户。 只需按照以下步骤操作:
您可以在此处下载免费评估。
免责声明:我拥有 SpreadsheetGear LLC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.