读书人

C# 怎么读取资源文件里面的Excel文件

发布时间: 2012-09-07 10:38:15 作者: rapoo

C# 如何读取资源文件里面的Excel文件
C# 如何读取资源文件里面的Excel文件呢?图片就很好读取,但是Excel文件不知如何操作,因为Excel文件不能让用户看见里面的内容(如果加密的话又不能通过程序连接),所以想到把Excel文件作为资源文件嵌入到项目里面,我在程序里面会去读取这个文件并且返回一张表,应该如何读取呢?最好能够详细一点,搞定再加分。

下面这段代码会提示找不到Sheet1$:

static ResourceManager rm =
new ResourceManager("Resources.computers.xls", Assembly.GetExecutingAssembly());


Setting mset = Setting.Instance;
public static DataTable ReadXLS(string xlsDir)
{

DataSet ds;
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=Excel 8.0;" +
"data source=" + xlsDir;
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
ds = new DataSet();
myCommand.Fill(ds);
myConn.Close();
return ds.Tables[0];
}

//DataTable dt=ComputerDLL.Computer_DLL.ReadXLS(Application.StartupPath + "\\File\\computers.xls");

DataTable dt2 = ReadXLS(Application.StartupPath + "\\"+rm.BaseName);

[解决办法]
请看这个

Sheet1$:

是EXcel的工作区
也许被用户生命名了

所以你要看清楚有没有这个名字的工作区
[解决办法]

C# code
byte[] _ExcelFile = Properties.Resources.EXCEL资源名称;  System.IO.FileStream _FileStream = new System.IO.FileStream(Application.StartupPath + "\\Temp.XLS", System.IO.FileMode.Create);  _FileStream.Write(_ExcelFile, 0, _ExcelFile.Length);  _FileStream.Close();
[解决办法]
[assembly: WebResource("Revenco.Web.DevelopKit.Scripts.Charts.Area2D.swf", "application/x-shockwave-flash")]

上面先声明资源,下面获取。

return page.ClientScript.GetWebResourceUrl(type, string.Format("Revenco.Web.DevelopKit.Scripts.Charts.{0}", swfName));

读书人网 >C#

热点推荐