C#

时间:2015-04-30 14:22:58

标签: c#

我正在尝试使用Windows窗体从文件中访问excel数据以输入纬度和经度信息。但是,当我调试它时,它会抛出“输入字符串格式不正确”错误。我使用以下代码:

namespace Excel_Access
{
    public partial class Form1 : Form

    {
        string myDouble2;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)

        {
            string cellValue = "";
            string cellValue1 = "";
            string cellValue2 = "";

            OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source =G:\Manish Dixit\TAMU\BS2015\SolarInsolation\Excel Sheets\Clr_Index.xlsm; Extended Properties= Excel 12.0");
            OleDbDataAdapter da = new OleDbDataAdapter("select*from[Sheet2$]", con);
            DataTable dt = new DataTable();   
            da.Fill(dt);
            int i = 1;
            do
            {
            cellValue = dt.Rows[i][0].ToString();

                if(double.Parse(cellValue)==double.Parse(textBox1.Text))
                    cellValue1 = dt.Rows[i][1].ToString();
                    if (double.Parse(cellValue1) == double.Parse(textBox2.Text))
                    {
                        cellValue2 = dt.Rows[i][5].ToString();
                        MessageBox.Show(cellValue2);
                    }

                    i++;

            }

            while (i < 441);


            //myDouble2 = ExcelDB(10, "L2");
            //MessageBox.Show("The value is " +myDouble2);
        }


    }
}

你能否说明为什么会这样?纬度和经度的输入值以十进制表示。请参阅我尝试访问的数据的附加图像。 See data image in Excel file here

1 个答案:

答案 0 :(得分:1)

你的double.parse没有错误处理。我会在你的调试器中查看你想要double.parse的值,并添加一些错误处理或使用double.TryParse。见Input string was not in correct format

double.Parse(textBox2.Text)

如果这不是有效的双倍例外&#39;输入字符串的格式不正确&#39;将被抛出。