Example #1
0
        private Boolean init()
        {
            FileNameSearch  = "";
            SheetNameSearch = "";
            ResultPosX      = 0;
            TesterPosX      = 0;
            VerPosX         = 0;
            DatePosX        = 0;
            RemarkPosX      = 0;
            fs = EN_FILE_STATE.FILE_STATE_EMPTY;

            return(true);
        }
Example #2
0
        private DataTable get_data()
        {
            Console.WriteLine("ExcelBinding:get_data >> File Name : " + FileNameSearch);
            //String strExcelConn = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='"+FileNameSearch+"';Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"";
            String           strExcelConn = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileNameSearch + ";Mode=ReadWrite;Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\"";
            OleDbConnection  connExcel    = new OleDbConnection(strExcelConn);
            OleDbCommand     cmdExcel     = new OleDbCommand();
            DataTable        dtContent    = new DataTable();
            OleDbDataAdapter da           = new OleDbDataAdapter();

            cmdExcel.Connection = connExcel;

            try
            {
                Console.WriteLine("get_data >> Sheet Name : " + SheetNameSearch);
                cmdExcel.CommandText = "select * from [" + SheetNameSearch + "]";

                connExcel.Open();
                da.SelectCommand = cmdExcel;
                da.Fill(dtContent);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                connExcel.Close();
                connExcel.Dispose();
                da.Dispose();
            }

            dtContent = modify_data(dtContent);

            fs = EN_FILE_STATE.FILE_STATE_LOAD;
            return(dtContent);
        }
Example #3
0
        private Boolean saveAs_data(DataTable dtContentToSave)
        {
            Console.WriteLine("ExcelBinding:saveAs_data : " + FileNameSearch);
            String strExcelConn = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileNameSearch + ";Mode=ReadWrite;Extended Properties=\"Excel 12.0 XML;HDR=No\"";

            OleDbConnection connExcel = new OleDbConnection(strExcelConn);
            OleDbCommand    cmdExcel1 = new OleDbCommand();
            OleDbCommand    cmdExcel2 = new OleDbCommand();
            OleDbCommand    cmdExcel3 = new OleDbCommand();

            cmdExcel1.Connection = connExcel;
            cmdExcel2.Connection = connExcel;
            cmdExcel3.Connection = connExcel;

            // Create table (cmdExcel1)
            // Remove header (cmdExcel2)
            // Insert data (cmdExcel3
            char[] MyChar        = { '$', '\'' };
            string SheetNameTrim = SheetNameSearch.Trim(MyChar);

            cmdExcel1.CommandText = "CREATE TABLE [" + SheetNameTrim + "] (";
            cmdExcel2.CommandText = "UPDATE [" + SheetNameTrim + "] SET ";
            cmdExcel3.CommandText = "INSERT INTO [" + SheetNameTrim + "] VALUES (";

            for (int i = 0; i < dtContentToSave.Columns.Count - 1; i++)
            {
                cmdExcel1.CommandText += "F" + i + " varchar(30)";
                cmdExcel2.CommandText += "F" + (i + 1) + " = \"\"";
                cmdExcel3.CommandText += "@F" + i;
                cmdExcel3.Parameters.Add(new OleDbParameter("@F" + i, OleDbType.VarChar));
                if (i != dtContentToSave.Columns.Count - 2)
                {
                    cmdExcel1.CommandText += ", ";
                    cmdExcel2.CommandText += ", ";
                    cmdExcel3.CommandText += ", ";
                }
            }
            cmdExcel1.CommandText += " );";
            cmdExcel2.CommandText += ";";
            cmdExcel3.CommandText += ")";

            try
            {
                connExcel.Open();
                cmdExcel1.ExecuteNonQuery();
                cmdExcel2.ExecuteNonQuery();
                for (int i = 0; i < dtContentToSave.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dtContentToSave.Columns.Count - 1; j++)
                    {
                        cmdExcel3.Parameters["@F" + j].Value = dtContentToSave.Rows[i][j].ToString();
                    }
                    cmdExcel3.ExecuteNonQuery();
                }
                connExcel.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cmdExcel1.Dispose();
                cmdExcel2.Dispose();
                connExcel.Dispose();
            }

            fs = EN_FILE_STATE.FILE_STATE_SAVEAS;
            return(true);
        }