private void openExcel_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*"; ofd.ValidateNames = true; ofd.CheckPathExists = true; ofd.CheckFileExists = true; if (ofd.ShowDialog() == DialogResult.OK) { string strFileName = ofd.FileName; try { excelDt = NPOIExcel.readExcel(strFileName, true); int index = excelDt.Rows.Count - 1; string heji = excelDt.Rows[index]["单据日期"].ToString(); if (heji.Equals("合计")) { excelDt.Rows.RemoveAt(index); } LogRichTextBox.logMesg("文件『" + strFileName + "』读取成功!共读取【" + excelDt.Rows.Count.ToString() + "】条记录。"); } catch (Exception ex) { LogRichTextBox.logMesg("文件『" + strFileName + "』读取失败!失败原因为:" + ex.ToString(), 2); return; } impU8.Enabled = checkData(); } }
private void impU8_Click(object sender, EventArgs e) { try { LogRichTextBox.logMesg("请等候,开始导入U8系统。。。"); impU8.Enabled = false; commitDatabase(); LogRichTextBox.logMesg("数据导入成功!共导入【" + autoidList.Count.ToString() + "】条记录!"); excelDt.Rows.Clear();//导入成功,清空数据 } catch (Exception ex) { impU8.Enabled = true; LogRichTextBox.logMesg("程序出错!错误原因为:" + ex.ToString(), 2); } }
/// <summary> /// 检查数据 /// </summary> private bool checkData() { try { LogRichTextBox.logMesg("正在检查导入数据的完整性。。。"); int i = 1; foreach (DataRow dr in excelDt.Rows) { if (string.IsNullOrEmpty(dr["金额"].ToString()) || string.IsNullOrEmpty(dr["数量"].ToString()) || string.IsNullOrEmpty(dr["单据号"].ToString()) || string.IsNullOrEmpty(dr["存货编码"].ToString())) { LogRichTextBox.logMesg("第" + i.ToString() + "行记录的单据号、存货编码、金额和数量等关键列不能为空!数据完整性检查失败!请核对要导入的EXCEL文件。", 1); return(false); } i++; } LogRichTextBox.logMesg("数据完整,可以导入。"); } catch (Exception e) { LogRichTextBox.logMesg("数据完整性检查程序出错!错误原因:" + e.ToString(), 2); return(false); } return(true); }