我正在尝试使用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
答案 0 :(得分:1)
你的double.parse没有错误处理。我会在你的调试器中查看你想要double.parse的值,并添加一些错误处理或使用double.TryParse。见Input string was not in correct format
double.Parse(textBox2.Text)
如果这不是有效的双倍例外&#39;输入字符串的格式不正确&#39;将被抛出。