解决方案 »

  1.   

    把你的需要导入的excel文件另存为一下,或是新建 一个新的excel文件,把你需要导入的内容重新弄一下试试。该错误目前一般是储存Excel文件时候出现错误导致而成(比如公式出错,突然断电导致文件损毁)
      

  2.   

    请问,Excel导入用的是什么控件? 是Spread吗?
      

  3.   

    读取外部文件到Execl
    //读取文本文件到Execl对其数据列格式化
      private void btn_Read_Click(object sender, EventArgs e)
            {
                int P_int_Count=0;//记录正在读取的行数
                string P_str_Line, P_str_Content = "";//记录读取行的内容及遍历到的内容
                List<string> P_str_List = new List<string>();//存储读取的所有内容
                StreamReader SReader = new StreamReader(txt_Txt.Text, Encoding.Default);//实例化流读取对象
                while ((P_str_Line = SReader.ReadLine()) != null)//循环读取文本文件中的每一行
                {
                    P_str_List.Add(P_str_Line);//将读取到的行内容添加到泛型集合中
                    P_int_Count++;//使当前读取行数加1
                }
                Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象
                object missing = System.Reflection.Missing.Value;//获取缺少的object类型值
                //打开指定的Excel文件
                Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Open(txt_Excel.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                Microsoft.Office.Interop.Excel.Worksheet newWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.Add(missing, missing, missing, missing);
                excel.Application.DisplayAlerts = false;//不显示提示对话框
                for (int i = 0; i < P_str_List.Count; i++)//遍历泛型集合
                {
                    P_str_Content = P_str_List[i];//记录遍历到的值
                    if (Regex.IsMatch(P_str_Content, "^[0-9]*[1-9][0-9]*$"))//判断是否是数字
                        newWorksheet.Cells[i + 1, 1] = Convert.ToDecimal(P_str_Content).ToString("¥00.00");//格式化为货币格式,再添加到工作表中
                    else
                        newWorksheet.Cells[i + 1, 1] = P_str_Content;//直接将遍历到的内容添加到工作表中
                }
                workbook.Save();//保存工作表
                workbook.Close(false, missing, missing);//关闭工作表
                MessageBox.Show("已经将文本文件内容成功导入Excel工作表中!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
      

  4.   

    到底是导入,还是导出?
    是读取EXCEL,还是写入EXCEL?
      

  5.   

    用NPOI 的控件,本地不需要装office控件http://www.cr173.com/html/18143_all.html
      

  6.   

    NPOI ,楼上正解,非常方便