新手错误:外部表格不是预期格式

时间:2015-08-05 08:10:36

标签: c#

我正在开发一个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();
        }

1 个答案:

答案 0 :(得分:0)

您所描述的实际错误无法在您发布的代码中找到(可在此处找到可能的解决方案:Excel "External table is not in the expected format.")。我想指出另一个可能更重要的缺陷:

您正在尝试使用仅在桌面应用程序中运行的组件(OpenFileDialog),而不是在Web应用程序中。我想它适用于您的本地计算机,因为IIS Express是一个桌面应用程序,所以它能够显示给您。但我永远不会在已部署的服务器上工作。

您必须提供某种形式的上传功能才能将文档发布到Web服务器。