我的应用程序使用excel文件从web读取数据(使用excel web查询和从excel文件中读取数据)
我正在使用的excel文件名为webGate
我的问题是我不希望webGate呈现给用户
如果用户在我的应用程序正在读取webGate文件时打开excel文件(任何其他文件),则webGate文件将显示用户文件
(即用户打开excel文件,正在呈现两个文件,其中一个是webGate)
有关如何使用该文件的任何想法,但它永远不会呈现给用户?
由于
叶兰
答案 0 :(得分:1)
你想要达到什么目的?目前还不清楚。 有关如何使用文件的任何想法,但它永远不会呈现给用户?
如果要在C#代码中打开/修改文件: http://www.codeproject.com/KB/office/csharp_excel.aspx
答案 1 :(得分:1)
您可以将.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();
}
答案 2 :(得分:0)
我不知道这是否会有太多麻烦,但将excel文件导出为xml可能是值得的(如果可能的话,我不知道你的excel文件是什么样的)并以这种方式读取数据。
答案 3 :(得分:0)
我为此目的使用Infragistics toolset,它运行良好(支持所有excel版本,功能非常丰富)
它可能不适合您的需求,因为它不是免费的,但如果您问我,它的价格是非常值得的
答案 4 :(得分:0)
如果项目花费的时间少于30天,您可以使用SpreadsheetGear for .NET的免费评估在.NET应用程序中嵌入Excel工作簿,而不会将其呈现给用户。只需按照以下步骤操作:
您可以下载免费评估here。
免责声明:我拥有SpreadsheetGear LLC