using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Data.Sql; using System.IO; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; namespace BaseSet { public partial class Gy_DataIn_Material_K3 : Form { DAL.ClsK3_ErpCls_View oErpCls = new DAL.ClsK3_ErpCls_View();//K3ÎïÁÏÊôÐÔ DAL.ClsK3_MaterType_View oMaterType = new DAL.ClsK3_MaterType_View();//K3ÎïÁÏ·ÖÀà DAL.ClsK3_Unit_View oUnit = new DAL.ClsK3_Unit_View();//K3¼ÆÁ¿µ¥Î» DAL.ClsK3_UnitGroup_View oUnitGroup = new DAL.ClsK3_UnitGroup_View();//K3¼ÆÁ¿µ¥Î»×é DAL.ClsK3_Warehouse_View oWh = new DAL.ClsK3_Warehouse_View();//K3²Ö¿â DAL.ClsK3_StockPlace_View oSP = new DAL.ClsK3_StockPlace_View();//K3²Öλ // private string fileName = null; //ÎļþÃû private IWorkbook workbook = null; private FileStream fs = null; private bool disposed; public Gy_DataIn_Material_K3() { InitializeComponent(); } private void initHeadCaption() { } private void yl_Click(object sender, EventArgs e) { WriteClass(); } //Êý¾Ýµ¼Èë public void WriteClass() { DAL.ClsK3_Material_Ctl BillNew = new DAL.ClsK3_Material_Ctl(); int sHNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("ÎïÁÏ´úÂë", grdmain); int sHNameCol = DBUtility.Gy_BaseFun.Fun_GetCol("ÎïÁÏÃû³Æ", grdmain); int sHHelpCodeCol = DBUtility.Gy_BaseFun.Fun_GetCol("Öú¼ÇÂë", grdmain); int sHModelCol = DBUtility.Gy_BaseFun.Fun_GetCol("¹æ¸ñÐͺÅ", grdmain); int sHPICNoCol = DBUtility.Gy_BaseFun.Fun_GetCol("ͼºÅ", grdmain); int sHMaterTypeNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("ÎïÁÏÊôÐÔ", grdmain); int sHMaterClsNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("ÎïÁÏ·ÖÀà", grdmain); int sHUnitNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("¼ÆÁ¿µ¥Î»", grdmain); int sHUnitGroupNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("¼ÆÁ¿µ¥Î»×é", grdmain); int sHSecUnitNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("¸¨Öú¼ÆÁ¿µ¥Î»", grdmain); int sHWhNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("ĬÈϲֿâ", grdmain); int sHSPNumberCol = DBUtility.Gy_BaseFun.Fun_GetCol("ĬÈϲÖλ", grdmain); int sHQtyDecimalCol = DBUtility.Gy_BaseFun.Fun_GetCol("ÊýÁ¿¾«¶È", grdmain); int sHLowStockCol = DBUtility.Gy_BaseFun.Fun_GetCol("×îµÍ´æÁ¿", grdmain); int sHHighStockCol = DBUtility.Gy_BaseFun.Fun_GetCol("×î¸ß´æÁ¿", grdmain); int sHSafeStockCol = DBUtility.Gy_BaseFun.Fun_GetCol("°²È«¿â´æÊýÁ¿", grdmain); int sHUseFlagCol = DBUtility.Gy_BaseFun.Fun_GetCol("ʹÓÃ״̬", grdmain); int sHSourceCol = DBUtility.Gy_BaseFun.Fun_GetCol("À´Ô´", grdmain); int sHOrderPriceCol = DBUtility.Gy_BaseFun.Fun_GetCol("²É¹ºµ¥¼Û", grdmain); for (int i = 0; i <= grdmain.Rows.Count - 1; i++) { if (oErpCls.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHMaterTypeNumberCol].Value))) { BillNew.oModel.HMaterTypeID = oErpCls.omodel.HItemID; } else { BillNew.oModel.HMaterTypeID = 0; } // if (oMaterType.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHMaterClsNumberCol].Value))) { BillNew.oModel.HMaterClsID = oMaterType.omodel.HItemID; } else { BillNew.oModel.HMaterClsID = 0; } // if (oUnit.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHUnitNumberCol].Value))) { BillNew.oModel.HUnitID = oUnit.omodel.HItemID; } else { BillNew.oModel.HUnitID = 0; } // if (oUnitGroup.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHUnitGroupNumberCol].Value))) { BillNew.oModel.HUnitGroupID = oUnitGroup.omodel.HItemID; } else { BillNew.oModel.HUnitGroupID = 0; } // if (oUnit.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHSecUnitNumberCol].Value))) { BillNew.oModel.HSecUnitID = oUnit.omodel.HItemID; } else { BillNew.oModel.HSecUnitID = 0; } // if (oWh.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHWhNumberCol].Value))) { BillNew.oModel.HWhID = oWh.omodel.HItemID; } else { BillNew.oModel.HWhID = 0; } // if (oSP.GetInfoByNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHSPNumberCol].Value))) { BillNew.oModel.HSPID = oSP.omodel.HItemID; } else { BillNew.oModel.HSPID = 0; } //¸ù¾Ý´úÂë»ñÈ¡Éϼ¶×é´úÂë¼°ÄÚÂë Int64 iParentID = 0; string sParent = DBUtility.ClsPub.GetParentCode(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHNumberCol].Value)); if (sParent.Trim() == "") { BillNew.oModel.HParentID = 0; } else { if (BillNew.HavParentCode(sParent.Trim(), ref iParentID)) { BillNew.oModel.HParentID = iParentID; } else { MessageBox.Show("Éϼ¶´úÂë²»´æÔÚ»ò±»½ûÓã¡", "Ìáʾ"); return ; } } // BillNew.oModel.HNumber = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHNumberCol].Value); BillNew.oModel.HEndFlag = false; BillNew.oModel.HShortNumber = DBUtility.ClsPub.GetShortNumber(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHNumberCol].Value)); BillNew.oModel.HLevel = DBUtility.ClsPub.GetLevel(DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHNumberCol].Value)); BillNew.oModel.HName = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHNameCol].Value); BillNew.oModel.HHelpCode = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHHelpCodeCol].Value); BillNew.oModel.HModel = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHModelCol].Value); BillNew.oModel.HPICNo = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHPICNoCol].Value); BillNew.oModel.HQtyDecimal = DBUtility.ClsPub.isLong(grdmain.Rows[i].Cells[sHQtyDecimalCol].Value); BillNew.oModel.HLowStock = DBUtility.ClsPub.isDoule(grdmain.Rows[i].Cells[sHLowStockCol].Value); BillNew.oModel.HHighStock = DBUtility.ClsPub.isDoule(grdmain.Rows[i].Cells[sHHighStockCol].Value); BillNew.oModel.HSafeStock = DBUtility.ClsPub.isDoule(grdmain.Rows[i].Cells[sHSafeStockCol].Value); BillNew.oModel.HUseFlag = DBUtility.ClsPub.isStrNull(grdmain.Rows[i].Cells[sHUseFlagCol].Value); BillNew.oModel.HSource = DBUtility.ClsPub.isLong(grdmain.Rows[i].Cells[sHSourceCol].Value); BillNew.oModel.HOrderPrice = DBUtility.ClsPub.isDoule(grdmain.Rows[i].Cells[sHOrderPriceCol].Value); BillNew.oModel.HRemark = "EXCELµ¼Èë"; BillNew.AddNew_K3(); } MessageBox.Show("±£´æÍê±Ï£¡"); } //дÈëÀà ´Ó¿Ø¼þ private bool Mater_WriteClass(int row) { // return true; } private void tc_Click(object sender, EventArgs e) { this.Close(); } private void K3_OutMachFeeDataIn_Load(object sender, EventArgs e) { initHeadCaption(); } public string ExcelPath; /// /// ½«excelÖеÄÊý¾Ýµ¼Èëµ½DataTableÖÐ /// /// excel·¾¶ /// excel¹¤×÷±¡sheetµÄÃû³Æ /// µÚÒ»ÐÐÊÇ·ñÊÇDataTableµÄÁÐÃû /// ·µ»ØµÄDataTable public DataTable ExcelToDataTable(string fileName, string sheetName, bool isFirstRowColumn) { ISheet sheet = null; DataTable data = new DataTable(); int startRow = 0; try { fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); if (fileName.IndexOf(".xlsx") > 0) // 2007°æ±¾ workbook = new XSSFWorkbook(fs); else if (fileName.IndexOf(".xls") > 0) // 2003°æ±¾ workbook = new HSSFWorkbook(fs); if (sheetName != null) { sheet = workbook.GetSheet(sheetName); if (sheet == null) //Èç¹ûûÓÐÕÒµ½Ö¸¶¨µÄsheetName¶ÔÓ¦µÄsheet£¬Ôò³¢ÊÔ»ñÈ¡µÚÒ»¸ösheet { sheet = workbook.GetSheetAt(0); } } else { sheet = workbook.GetSheetAt(0); } if (sheet != null) { IRow firstRow = sheet.GetRow(0); int cellCount = firstRow.LastCellNum; //Ò»ÐÐ×îºóÒ»¸öcellµÄ±àºÅ ¼´×ܵÄÁÐÊý if (isFirstRowColumn) { for (int i = firstRow.FirstCellNum; i < cellCount; ++i) { ICell cell = firstRow.GetCell(i); if (cell != null) { string cellValue = cell.StringCellValue; if (cellValue != null) { DataColumn column = new DataColumn(cellValue); data.Columns.Add(column); } } } startRow = sheet.FirstRowNum + 1; } else { startRow = sheet.FirstRowNum; } //×îºóÒ»ÁеıêºÅ int rowCount = sheet.LastRowNum; for (int i = startRow; i <= rowCount; ++i) { IRow row = sheet.GetRow(i); if (row == null) continue; //ûÓÐÊý¾ÝµÄÐÐĬÈÏÊÇnull¡¡¡¡¡¡¡¡¡¡¡¡¡¡ DataRow dataRow = data.NewRow(); for (int j = row.FirstCellNum; j < cellCount; ++j) { if (row.GetCell(j) != null) //ͬÀí£¬Ã»ÓÐÊý¾ÝµÄµ¥Ôª¸ñ¶¼Ä¬ÈÏÊÇnull dataRow[j] = row.GetCell(j).ToString(); } data.Rows.Add(dataRow); } } return data; } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); return null; } } DataTable d; private void button1_Click_1(object sender, EventArgs e) { if (txtHRemark.Text.Trim() == "") { txtHRemark.Text = "1"; //MessageBox.Show("ÇëÊäÈëÐèÒªµ¼ÈëµÄ¹¤×÷±¡Ãû³Æ£¡"); //return; } OpenExcelFile.Title = "Open Excel File "; OpenExcelFile.FileName = ""; OpenExcelFile.Filter = "Microsoft Office Excel Files(*.xls)|*.xls"; OpenExcelFile.ShowDialog(); if (OpenExcelFile.FileName != "") { ExcelPath = OpenExcelFile.FileName; d = ExcelToDataTable(ExcelPath, txtHRemark.Text.Trim(), true); grdmain.DataSource = d.DefaultView; } else { ExcelPath = ""; } } private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdmain); } } }