我正在开发一个MVC .Net Web应用程序,我想从.xlsx和.xls文件中读取数据。目前,我的应用程序读取.xls文件没有问题。我读到了所有的连接字符串,但是我一直在弄清楚我应该如何实现它们,因为这是我第一次处理C#的经验。无论如何这里是我的代码的一些片段。谢谢你提前很多。感谢您的大力帮助。
private void button_OpenFile_Click(object sender, EventArgs e)
{
if(fileType.Equals("csv")){
openFileDialog_ExcelFile.Filter = "CSV Files (.csv)|*.csv";
}
else if (fileType.Equals("xls"))
{
openFileDialog_ExcelFile.Filter = "Excel Worksheets 1997 -2003(.xls)|*.xls";
}
else if (fileType.Equals("xlsx"))
{
openFileDialog_ExcelFile.Filter = "Excel Worksheets 2007 (.xlsx)|*.xlsx";
}
DialogResult result = openFileDialog_ExcelFile.ShowDialog(); // Show the dialog.
if (result == DialogResult.OK) // Test result.
{
OpenNewFile();
fileOpened = true;
}
if (includeAllAttributesByDefault)
SelectAndIncludeAll();
nonNumberChkBx.Checked = includeNumericValuesByDefault;
//Debug.WriteLine(result); // <-- For debugging use only.
}
private void OpenNewFile()
{
// Initializing new data object.
try
{
data = new MyData(openFileDialog_ExcelFile.FileName);
UpdateCheckListBox();
UpdateGridView();
UpdateCurrentFileInfo();
}
答案 0 :(得分:0)
您所描述的实际错误无法在您发布的代码中找到(可在此处找到可能的解决方案:Excel "External table is not in the expected format.")。我想指出另一个可能更重要的缺陷:
您正在尝试使用仅在桌面应用程序中运行的组件(OpenFileDialog
),而不是在Web应用程序中。我想它适用于您的本地计算机,因为IIS Express是一个桌面应用程序,所以它能够显示给您。但我永远不会在已部署的服务器上工作。
您必须提供某种形式的上传功能才能将文档发布到Web服务器。