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);
}
}
}