private void btnOutToFileFail_Click(object sender, EventArgs e) //将导入失败的成果导出到文件 { if (MyDatabase.TestMyDatabaseConnect() == false) //数据库连接失败 { MessageBox.Show("数据库连接失败!", "提示"); return; } try { DataTable dt = MyExcel.GetDgvToTable(dgvDataFail); this.sfdOutToFile.Filter = "Excel 工作簿(*.xlsx)|*.xlsx|文本文档(*.txt)|*.txt"; //设置保存类型 this.sfdOutToFile.AddExtension = true; //自动添加扩展名 DialogResult result = this.sfdOutToFile.ShowDialog(); if (result == DialogResult.OK) //点击了保存 { btnOutToFileFail.Text = "正在导出中。。。"; //将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = false; //将导入失败的成果导出到文件按钮不可点击 if (MyData.DataConvert(dt) == false) //对dt内的数据进行处理,尤其是“(数据格式有误)”这种情况 { btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //设置将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true; //设置将导入失败的成果导出到文件按钮可点击 MessageBox.Show("导出失败!", "提示"); return; } if (MyData.GetFileExtByFileName(sfdOutToFile.FileName) == "xlsx") //导出到Excel文件 { MyExcel.SaveDataToExcel(dt, sfdOutToFile.FileName); //此过程很慢 } else if (MyData.GetFileExtByFileName(sfdOutToFile.FileName) == "txt") //导出到txt文件 { MyTxt.SaveDataToTxt(dt, sfdOutToFile.FileName); } else//扩展名有误 { btnOutToFileFail.Text = "将导入失败的成果导出到文件";//设置将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true;//设置将导入失败的成果导出到文件按钮可点击 MessageBox.Show("导出类型为不支持的类型,导出失败!", "提示"); return; } btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true; //将导入失败的成果导出到文件按钮可点击 MessageBox.Show("导出成功!", "提示"); return; } else if (result == DialogResult.Cancel) //点击了取消 { btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //设置将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true; //设置将导入失败的成果导出到文件按钮可点击 return; } } catch (Exception ex) { btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //设置将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true; //设置将导入失败的成果导出到文件按钮可点击 MessageBox.Show("导出失败!", "提示"); return; } }
private void btnAdd_Click(object sender, EventArgs e) //开始导入 { if (MyDatabase.TestMyDatabaseConnect() == false) //数据库连接失败 { MessageBox.Show("数据库连接失败!", "提示"); return; } if (txtFilePath.Text == string.Empty)//判断文件路径是否为空 { MessageBox.Show("文件路径不能为空!", "提示"); return; } if (System.IO.File.Exists(txtFilePath.Text) == false)//判断文件是否存在 { MessageBox.Show("文件不存在!", "提示"); return; } try { btnAdd.Text = "正在导入中。。。"; //开始导入按钮显示内容 btnAdd.Enabled = false; //开始导入按钮不可点击 System.Data.DataTable dt = new System.Data.DataTable(); if (MyData.GetFileExtByFileName(txtFilePath.Text) == "xlsx" || MyData.GetFileExtByFileName(txtFilePath.Text) == "xls") //从Excel文件导入 { if (MyExcel.CheckExcelFileData(txtFilePath.Text, 6) == false) { btnAdd.Text = "开始导入"; //开始导入按钮显示内容 btnAdd.Enabled = true; //开始导入按钮可点击 MessageBox.Show("文件数据格式有误,导入失败!", "提示"); return; } dt = MyExcel.LoadDataFromExcel(txtFilePath.Text); if (MyExcel.DateTimeConvert(dt) == false) //从Excel文件中读取OA数据格式的日期文件后转换为字符串 { btnAdd.Text = "开始导入"; //开始导入按钮显示内容 btnAdd.Enabled = true; //开始导入按钮可点击 MessageBox.Show("文件数据格式有误,导入失败!", "提示"); return; } } else if (MyData.GetFileExtByFileName(txtFilePath.Text) == "txt")//从txt文件导入 { if (MyTxt.CheckTxtFileData(txtFilePath.Text, 6) == false) { btnAdd.Text = "开始导入"; //开始导入按钮显示内容 btnAdd.Enabled = true; //开始导入按钮可点击 MessageBox.Show("文件数据格式有误,导入失败!", "提示"); return; } dt = MyTxt.LoadDataFromTxt(txtFilePath.Text); } else//扩展名有误 { btnAdd.Text = "开始导入";//开始导入按钮显示内容 btnAdd.Enabled = true;//开始导入按钮可点击 MessageBox.Show("文件类型为不支持的导入类型,导入失败!", "提示"); return; } #region 将从文件导入的数据添加到数据库中 System.Data.DataTable dt_success = new System.Data.DataTable(); System.Data.DataTable dt_fail = new System.Data.DataTable(); int success_num = 0; int fail_num = 0; for (int i = 0; i < dt.Columns.Count; i++)//写入表头信息 { dt_success.Columns.Add(dt.Columns[i].ColumnName); dt_fail.Columns.Add(dt.Columns[i].ColumnName); } for (int i = 0; i < dt.Rows.Count; i++) { try { string sql = string.Empty; sql = string.Format("insert into datainfo values('{0}', '{1}', '{2}', '{3}', '{4}', {5});", dt.Rows[i][0].ToString().Trim(), dt.Rows[i][1].ToString().Trim(), Convert.ToDateTime(dt.Rows[i][2].ToString().Trim()).ToString("yyyy-MM-dd"), dt.Rows[i][3].ToString().Trim(), dt.Rows[i][4].ToString().Trim(), Convert.ToDouble(dt.Rows[i][5].ToString().Trim())); //sql语句 if (MyDatabase.UpdateDataBySql(sql)) //添加成功 { success_num++; DataRow dr = dt_success.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { try { if (j == 2)//对成果时间的数据格式的单独转化 { dr[j] = Convert.ToDateTime(dt.Rows[i][j].ToString().Trim()).ToString("yyyy-MM-dd"); } else if (j == 5)//对成果支撑基金的格式的单独转化 { dr[j] = Convert.ToDouble(dt.Rows[i][j].ToString().Trim()); } else//其他字段格式不需要转化 { dr[j] = dt.Rows[i][j].ToString(); } } catch (Exception ex_2)//格式转化出错 { dr[j] = "(数据格式有误)".ToString(); } } dt_success.Rows.Add(dr); } else//添加失败 { fail_num++; DataRow dr = dt_fail.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { try { if (j == 2)//对成果时间的数据格式的单独转化 { dr[j] = Convert.ToDateTime(dt.Rows[i][j].ToString().Trim()).ToString("yyyy-MM-dd"); } else if (j == 5)//对成果支撑基金的格式的单独转化 { dr[j] = Convert.ToDouble(dt.Rows[i][j].ToString().Trim()); } else//其他字段格式不需要转化 { dr[j] = dt.Rows[i][j].ToString(); } } catch (Exception ex_2)//格式转化出错 { dr[j] = "(数据格式有误)".ToString(); } } dt_fail.Rows.Add(dr); } } catch (Exception ex)//添加时发生异常 { fail_num++; DataRow dr = dt_fail.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { try { if (j == 2)//对成果时间的数据格式的单独转化 { dr[j] = Convert.ToDateTime(dt.Rows[i][j].ToString().Trim()).ToString("yyyy-MM-dd"); } else if (j == 5)//对成果支撑基金的格式的单独转化 { dr[j] = Convert.ToDouble(dt.Rows[i][j].ToString().Trim()); } else//其他字段格式不需要转化 { dr[j] = dt.Rows[i][j].ToString(); } } catch (Exception ex_2)//格式转化出错 { dr[j] = "(数据格式有误)".ToString(); } } dt_fail.Rows.Add(dr); } } txtResultSuccess.Text = success_num.ToString(); //导入成功成果数目 txtResultFail.Text = fail_num.ToString(); //导入失败成果数目 if (success_num == 0) { btnOutToFileSuccess.Text = "将导入成功的成果导出到文件"; //将导入成功的成果导出到文件按钮显示内容 btnOutToFileSuccess.Enabled = false; //将导入成功的成果导出到文件按钮不可点击 this.dgvDataSuccess.DataSource = null; //导入成功的信息显示DataGridView控件显示数据 } else { btnOutToFileSuccess.Text = "将导入成功的成果导出到文件"; //将导入成功的成果导出到文件按钮显示内容 btnOutToFileSuccess.Enabled = true; //将导入成功的成果导出到文件按钮可点击 dgvDataSuccess.DataSource = dt_success; //导入成功的信息显示DataGridView控件显示数据 } if (fail_num == 0) { btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = false; //将导入失败的成果导出到文件按钮不可点击 this.dgvDataFail.DataSource = null; //导入失败的信息显示DataGridView控件显示数据 } else { btnOutToFileFail.Text = "将导入失败的成果导出到文件"; //将导入失败的成果导出到文件按钮显示内容 btnOutToFileFail.Enabled = true; //将导入失败的成果导出到文件按钮可点击 dgvDataFail.DataSource = dt_fail; //导入失败的信息显示DataGridView控件显示数据 } #endregion btnAdd.Text = "开始导入"; //开始导入按钮显示内容 btnAdd.Enabled = true; //开始导入按钮可点击 MessageBox.Show("文件导入完成!", "提示"); return; } catch (Exception ex_1) { btnAdd.Text = "开始导入"; //开始导入按钮显示内容 btnAdd.Enabled = true; //开始导入按钮可点击 MessageBox.Show("文件导入失败!", "提示"); return; } }
private void btnOutToFile_Click(object sender, EventArgs e) //导出此检索结果到文件 { if (MyDatabase.TestMyDatabaseConnect() == false) //数据库连接失败 { MessageBox.Show("数据库连接失败!", "提示"); return; } if (txt_achievement_name != string.Empty) { try { DataTable dt = MyExcel.GetDgvToTable(dgvData); this.sfdOutToFile.Filter = "Excel 工作簿(*.xlsx)|*.xlsx|文本文档(*.txt)|*.txt"; //设置保存类型 this.sfdOutToFile.AddExtension = true; //自动添加扩展名 DialogResult result = this.sfdOutToFile.ShowDialog(); if (result == DialogResult.OK) //点击了保存 { btnOutToFile.Text = "正在导出中。。。"; //导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = false; //导出此检索成果到文件按钮显示不可点击 if (MyData.DataConvert(dt) == false) //对dt内的数据进行单独处理,去除时间(默认值00:00:00),只保留日期 { btnOutToFile.Text = "导出此检索成果到文件"; //设置导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true; //设置导出此检索成果到文件按钮显示可点击 MessageBox.Show("导出失败!", "提示"); return; } if (MyData.GetFileExtByFileName(sfdOutToFile.FileName) == "xlsx") //导出到Excel文件 { MyExcel.SaveDataToExcel(dt, sfdOutToFile.FileName); //此过程很慢 } else if (MyData.GetFileExtByFileName(sfdOutToFile.FileName) == "txt") //导出到txt文件 { MyTxt.SaveDataToTxt(dt, sfdOutToFile.FileName); } else//扩展名有误 { btnOutToFile.Text = "导出此检索成果到文件";//设置导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true;//设置导出此检索成果到文件按钮显示可点击 MessageBox.Show("导出类型为不支持的类型,导出失败!", "提示"); return; } btnOutToFile.Text = "导出此检索成果到文件"; //导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true; //导出此检索成果到文件按钮显示可点击 MessageBox.Show("导出成功!", "提示"); return; } else if (result == DialogResult.Cancel) //点击了取消 { btnOutToFile.Text = "导出此检索成果到文件"; //设置导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true; //设置导出此检索成果到文件按钮显示可点击 return; } } catch (Exception ex) { btnOutToFile.Text = "导出此检索成果到文件"; //设置导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true; //设置导出此检索成果到文件按钮显示可点击 MessageBox.Show("导出失败!", "提示"); return; } } btnOutToFile.Text = "导出此检索成果到文件"; //设置导出此检索成果到文件按钮显示内容 btnOutToFile.Enabled = true; //设置导出此检索成果到文件按钮显示可点击 MessageBox.Show("导出失败!", "提示"); }