从Silverlight应用程序中的Excel文件导入数据

时间:2012-07-03 11:33:45

标签: silverlight excel import

我正在使用VS2010,Silverlight 5.0

我正在尝试将数据从Excel文件导入到Grid,因为我正在使用'OpenFileDialog'。用户可以像这样使用OpenFileDialog输入Excel文件

OpenFileDialog dlg = new OpenFileDialog();
dlg.Multiselect = false;
dlg.Filter = "Excel Sheet(*.xls)|*.xls|All Files(*.*)|*.*";
bool bResult = (bool)dlg.ShowDialog();
if (!bResult)
    return "";

FileInfo info = dlg.File;
StatusText.Text = info.Name;

Stream s = info.OpenRead();
StreamReader reader = new StreamReader(s);
string xml = reader.ReadToEnd();
var doc = XDocument.Parse(xml);

在Microsoft Excel格式2003或2007(.xls文件)的情况下,上面的代码工作正常,并以字符串形式从Excel中提供值。

但是在Microsoft Excel格式2010(.xlsx文件)的情况下,reader.ReadToEnd()不会以正确的格式返回值,因此下一行,请给我以下错误。

var doc = XDocument.Parse(xml);
'Data at the root level is invalid. Line 1, position 1'

如何解决此错误,或者从excel导入数据的最佳方法是什么?

0 个答案:

没有答案