Ejemplo n.º 1
0
        /// <summary>
        /// Convert excel worksheet into an object. Only work on signle worksheet workbooks.
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns>Object of all Excel worksheet data.</returns>
        private void ExcelToObject()
        {
            try
            {
                // Create new excel instance
                Office.Excel.Application excelApplication = new Office.Excel.Application
                {
                    Visible = false
                };

                // Open file
                Office.Excel._Workbook  workbook  = excelApplication.Workbooks.Open(fileName, Type.Missing, true);
                Office.Excel._Worksheet worksheet = workbook.ActiveSheet;

                // Get range
                Office.Excel.Range firstCell = worksheet.get_Range("A1", Type.Missing);
                Office.Excel.Range lastCell  = worksheet.Cells.SpecialCells(Office.Excel.XlCellType.xlCellTypeLastCell, Type.Missing);

                Office.Excel.Range worksheetCells = worksheet.get_Range(firstCell, lastCell);
                cellValueObject = worksheetCells.Value2 as object[, ];

                workbook.Close();
                excelApplication.Quit();
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return;
            }
        }
Ejemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
//Start Excel and get Application object.
            Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
            oXL.Visible = true;

//Get a new workbook.
            Microsoft.Office.Interop.Excel._Workbook  oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
            Microsoft.Office.Interop.Excel._Worksheet oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

//Add table headers going cell by cell.
            oSheet.Cells[1, 1] = "Name";
            oSheet.Cells[1, 2] = "Address";
            oSheet.Cells[1, 3] = "Salary";

//Format A1:D1 as bold, vertical alignment = center.
            oSheet.get_Range("A1", "C1").Font.Bold         = true;
            oSheet.get_Range("A1", "C1").VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;

            int i = 2;

            foreach (Employee employee in _list)
            {
                string[] values = new string[3];
                values[0] = employee.Name;
                values[1] = employee.Address;
                values[2] = employee.Salary.ToString();

                oSheet.get_Range("A" + i.ToString(), "C" + i.ToString()).Value = values;
                i++;
            }

            oXL.Visible     = true;
            oXL.UserControl = true;
        }
Ejemplo n.º 3
0
        public void Save(IList <Employee> list)
        {
            // Create 2 dimensional array
            string[,] values = new string[list.Count, 3];
            for (int i = 0; i < list.Count; i++)
            {
                values[i, 0] = list[i].Name;
                values[i, 1] = list[i].Address;
                values[i, 2] = list[i].Salary.ToString();
            }

            //Start Excel and get Application object.
            Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
            oXL.Visible = true;

            //Get a new workbook.
            Microsoft.Office.Interop.Excel._Workbook  oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
            Microsoft.Office.Interop.Excel._Worksheet oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

            //Add table headers going cell by cell.
            oSheet.Cells[1, 1] = "Name";
            oSheet.Cells[1, 2] = "Address";
            oSheet.Cells[1, 3] = "Salary";

            //Format A1:D1 as bold, vertical alignment = center.
            oSheet.get_Range("A1", "C1").Font.Bold         = true;
            oSheet.get_Range("A1", "C1").VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;


            oSheet.get_Range("A2", "C" + ((values.Length / 3) + 1).ToString()).Value = values;

            oXL.Visible     = true;
            oXL.UserControl = true;
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Export DataTable to Excel file
 /// </summary>
 /// <param name="DataTable">Source DataTable</param>
 /// <param name="ExcelFilePath">Path to result file name</param>
 public static void ExportToExcel(this System.Data.DataTable DataTable, string ExcelFilePath = null)
 {
     try
     {
         int ColumnsCount;
         if (DataTable == null || (ColumnsCount = DataTable.Columns.Count) == 0)
         {
             throw new Exception("ExportToExcel: Null or empty input table!\n");
         }
         // load excel, and create a new workbook
         Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application();
         Excel.Workbooks.Add();
         // single worksheet
         Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet;
         object[] Header = new object[ColumnsCount];
         // column headings
         for (int i = 0; i < ColumnsCount; i++)
         {
             Header[i] = DataTable.Columns[i].ColumnName;
         }
         Microsoft.Office.Interop.Excel.Range HeaderRange = Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, ColumnsCount]));
         HeaderRange.Value          = Header;
         HeaderRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightGray);
         HeaderRange.Font.Bold      = true;
         // DataCells
         int RowsCount = DataTable.Rows.Count;
         object[,] Cells = new object[RowsCount, ColumnsCount];
         for (int j = 0; j < RowsCount; j++)
         {
             for (int i = 0; i < ColumnsCount; i++)
             {
                 Cells[j, i] = DataTable.Rows[j][i];
             }
         }
         Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[2, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[RowsCount + 1, ColumnsCount])).Value = Cells;
         // check fielpath
         if (ExcelFilePath != null && ExcelFilePath != "")
         {
             try
             {
                 Worksheet.SaveAs(ExcelFilePath);
                 Excel.Quit();
                 System.Windows.MessageBox.Show("Excel file saved!");
             }
             catch (Exception ex)
             {
                 throw new Exception("ExportToExcel: Excel file could not be saved! Check filepath.\n"
                                     + ex.Message);
             }
         }
         else        // no filepath is given
         {
             Excel.Visible = true;
         }
     }
     catch (Exception ex)
     {
         throw new Exception("ExportToExcel: \n" + ex.Message);
     }
 }
Ejemplo n.º 5
0
        //打印填数据
        private void fill_excel(Microsoft.Office.Interop.Excel._Worksheet mysheet, Microsoft.Office.Interop.Excel._Workbook mybook)
        {
            int ind = 0;

            if (dataGridView2.Rows.Count > 12)
            {
                //在第6行插入
                for (int i = 0; i < dataGridView2.Rows.Count - 12; i++)
                {
                    Microsoft.Office.Interop.Excel.Range range = (Microsoft.Office.Interop.Excel.Range)mysheet.Rows[6, Type.Missing];
                    range.EntireRow.Insert(Microsoft.Office.Interop.Excel.XlDirection.xlDown,
                                           Microsoft.Office.Interop.Excel.XlInsertFormatOrigin.xlFormatFromLeftOrAbove);

                    Microsoft.Office.Interop.Excel.Range range1 = mysheet.get_Range("F6");
                    range1.Merge(mysheet.get_Range("G6"));
                }
                ind = dataGridView1.Rows.Count - 12;
            }

            //外表信息
            mysheet.Cells[3, 8].Value = dtOuter.Rows[0]["生产指令编号"].ToString();
            mysheet.Cells[4, 8].Value = dtp开始生产时间.Value.ToShortDateString() + "--" + dtp结束生产时间.Value.ToShortDateString();

            //内表2信息,生产记录
            for (int i = 0; i < dataGridView2.Rows.Count; i++)
            {
                mysheet.Cells[6 + i, 6] = dataGridView2.Rows[i].Cells[0].Value.ToString();
                mysheet.Cells[6 + i, 8] = dataGridView2.Rows[i].Cells[1].Value.ToString();
                mysheet.Cells[6 + i, 9] = dataGridView2.Rows[i].Cells[2].Value.ToString();
            }

            //内表1,目录
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                string s;
                if (dataGridView1.Rows[i].Cells[4].Value != null)
                {
                    s = dataGridView1.Rows[i].Cells[4].Value.ToString();
                }
                else
                {
                    s = "0";
                }
                mysheet.Cells[5 + i, 1] = dataGridView1.Rows[i].Cells[2].Value.ToString();
                mysheet.Cells[5 + i, 2] = dataGridView1.Rows[i].Cells[3].Value.ToString();
                mysheet.Cells[5 + i, 3] = s;
            }

            //外表,汇总,审核,批准
            mysheet.Cells[18 + ind, 7] = dtOuter.Rows[0]["汇总人"].ToString();
            mysheet.Cells[18 + ind, 9] = DateTime.Parse(dtOuter.Rows[0]["汇总时间"].ToString()).ToString("D");

            mysheet.Cells[20 + ind, 7] = dtOuter.Rows[0]["审核人"].ToString();
            mysheet.Cells[20 + ind, 9] = DateTime.Parse(dtOuter.Rows[0]["审核时间"].ToString()).ToString("D");

            mysheet.Cells[22 + ind, 7] = dtOuter.Rows[0]["批准人"].ToString();
            mysheet.Cells[22 + ind, 9] = DateTime.Parse(dtOuter.Rows[0]["批准时间"].ToString()).ToString("D");
        }
Ejemplo n.º 6
0
        private void DataReport(string filename)
        {
            Microsoft.Office.Interop.Excel._Application app       = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel._Workbook    workBook  = app.Workbooks.Add(Type.Missing);
            Microsoft.Office.Interop.Excel._Worksheet   workSheet = null;

            workSheet      = workBook.Sheets["Sheet1"];
            workSheet      = workBook.ActiveSheet;
            workSheet.Name = "Sale Report";

            //app.Columns.ColumnWidth = 30;
            app.DisplayAlerts = false;

            System.Globalization.CultureInfo _cultureTHInfo = new System.Globalization.CultureInfo("th-TH");

            if (dgvStock.Rows.Count - 1 > 0)
            {
                for (int i = 1; i < dgvStock.Columns.Count + 1; i++)
                {
                    workSheet.Cells[1, i] = dgvStock.Columns[i - 1].HeaderText;
                }

                for (int i = 0; i < dgvStock.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dgvStock.Columns.Count; j++)
                    {
                        /*if (j == 0)
                         * {// Datetime
                         *
                         *  dt = Convert.ToDateTime(dgvStock.Rows[i].Cells[j].Value.ToString());
                         *  workSheet.Cells[i + 2, j + 1] = dt.ToString("dd MMM yyyy", _cultureTHInfo);
                         * }*/

                        //else
                        workSheet.Cells[i + 2, j + 1] = dgvStock.Rows[i].Cells[j].Value.ToString();
                    }
                }

                string lastRow = "G" + Convert.ToString(dgvStock.Rows.Count);

                workSheet.Columns[1].ColumnWidth = 10;
                workSheet.Columns[2].AutoFit();
                workSheet.Columns[3].AutoFit();
                workSheet.Columns[4].AutoFit();
                workSheet.Columns[5].AutoFit();
                workSheet.Columns[6].ColumnWidth = 15;
                workSheet.Columns[7].ColumnWidth = 15;

                workSheet.get_Range("A1", lastRow).Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
                workSheet.get_Range("A1", "G1").Cells.Font.Bold = true;     // Header
                //workSheet.get_Range("A1", lastRow).Columns.AutoFit();
                //workSheet.get_Range("A1", lastRow).Font.Size = 20;

                workBook.SaveAs(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                workBook.Close();
                app.Quit();
            }
        }
 /// <summary>
 /// fill the header columns for the range specified and make it bold if specified
 /// </summary>
 /// <param name="headers"></param>
 /// <param name="startColumn"></param>
 /// <param name="endColumn"></param>
 protected void FillHeaderColumn(object[] headers, string startColumn, string endColumn)
 {
     _excelRange = _excelSheet.get_Range(startColumn, endColumn);
     _excelRange.set_Value(_value, headers);
     if (BoldHeaders == true)
     {
         this.BoldRow(startColumn, endColumn);
     }
     _excelRange.EntireColumn.AutoFit();
 }
Ejemplo n.º 8
0
        private void UpdateExcel()
        {
            Microsoft.Office.Interop.Excel.Application oXL    = null;
            Microsoft.Office.Interop.Excel._Workbook   oWB    = null;
            Microsoft.Office.Interop.Excel._Worksheet  oSheet = null;
            object misvalue = System.Reflection.Missing.Value;
            int    last     = history.computerDataHistoryElements.Count;

            try
            {
                oXL = new Microsoft.Office.Interop.Excel.Application
                {
                    Visible = false
                };
                oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
                oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

                oSheet.Cells[1, 1] = "Data";
                oSheet.Cells[1, 2] = "Nazwa komputera";
                oSheet.Cells[1, 3] = "Lokalizacja";
                oSheet.Cells[1, 4] = "Procesor";
                oSheet.Cells[1, 5] = "Dostępna pamięć RAM";
                oSheet.Cells[1, 6] = "Pamięć RAM";
                oSheet.Cells[1, 7] = "Dysk";
                oSheet.Cells[1, 8] = "Plik stronicowania";

                oSheet.get_Range("A1", "H1").Font.Bold = true;

                for (int i = 0; i < last; i++)
                {
                    oSheet.Cells[i + 2, 1] = history.computerDataHistoryElements[i].Date.ToLongTimeString();
                    oSheet.Cells[i + 2, 2] = history.computerDataHistoryElements[i].ComputerData.ComputerName;
                    oSheet.Cells[i + 2, 3] = history.computerDataHistoryElements[i].ComputerData.ComputerLocation;
                    oSheet.Cells[i + 2, 4] = history.computerDataHistoryElements[i].ComputerData.ComputerCPU.ToString();
                    oSheet.Cells[i + 2, 5] = history.computerDataHistoryElements[i].ComputerData.ComputerRAM.ToString();
                    oSheet.Cells[i + 2, 6] = history.computerDataHistoryElements[i].ComputerData.ComputerAvailableRAM.ToString();
                    oSheet.Cells[i + 2, 7] = history.computerDataHistoryElements[i].ComputerData.ComputerDisk.ToString();
                    oSheet.Cells[i + 2, 8] = history.computerDataHistoryElements[i].ComputerData.ComputerPageFile.ToString();
                }

                oXL.Visible     = false;
                oXL.UserControl = false;
                oWB.SaveAs("~\\PracaMagisterska\\Zad2\\Wyniki.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                           false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                           Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                MessageBox.Show("Zrobione!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                if (oWB != null)
                {
                    oWB.Close();
                }
            }
        }
Ejemplo n.º 9
0
        //get a list of Row objects for a sheet
        private List <Row> GetRows(Sheet sheet)
        {
            List <Row> rows = new List <Row>();
            Book       book = _books.Where(b => b.Id == sheet.BookId).FirstOrDefault();

            Microsoft.Office.Interop.Excel._Workbook  xlBook   = _xlBooks.Open(book.Path);
            Microsoft.Office.Interop.Excel.Sheets     xlSheets = xlBook.Worksheets;
            Microsoft.Office.Interop.Excel._Worksheet xlSheet  = (Microsoft.Office.Interop.Excel._Worksheet)xlSheets[sheet.Index];
            int id  = _rows.Count();
            int row = 2;

            while (xlSheet.get_Range(CellName(row, 1)).Value2 != null)
            {
                Row r = new Row()
                {
                    Id      = id++,
                    SheetId = sheet.Id,
                    Index   = row,
                    Data    = GetRowData(GetRowVals(xlSheet, 1), GetRowVals(xlSheet, row++))
                };
                rows.Add(r);
            }
            _xlBooks.Close();
            return(rows);
        }
    // a Method to create the Headers in the file
    private void initHeaders()
    {
        oSheet.Cells[1, 1]  = "UserName";
        oSheet.Cells[1, 2]  = "Workstation Name";
        oSheet.Cells[1, 3]  = "Manufacturer";
        oSheet.Cells[1, 4]  = "Model";
        oSheet.Cells[1, 5]  = "Serial";
        oSheet.Cells[1, 6]  = "CPU";
        oSheet.Cells[1, 7]  = "RAM";
        oSheet.Cells[1, 8]  = "OS";
        oSheet.Cells[1, 9]  = "Version";
        oSheet.Cells[1, 10] = "Microsoft Office";
        oSheet.Cells[1, 11] = "Recommendations";
        oSheet.Cells[1, 12] = "Comments";

        oSheet.get_Range("A1", "L1").Font.Bold         = true;
        oSheet.get_Range("A1", "L1").VerticalAlignment =
            Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
    }
Ejemplo n.º 11
0
        public static void ExportToExcel(DataTable dtReport, string ExcelFilePath = null)
        {
            int ColumnsCount;

            if (dtReport == null || (ColumnsCount = dtReport.Columns.Count) == 0)
            {
                throw new Exception("ExportToExcel: Null or empty input table!\n");
            }


            Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application();
            Excel.Workbooks.Add();


            Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet;

            object[] Header = new object[ColumnsCount];

            for (int i = 0; i < ColumnsCount; i++)
            {
                Header[i] = dtReport.Columns[i].ColumnName;
            }

            Microsoft.Office.Interop.Excel.Range HeaderRange = Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, 1]),
                                                                                   (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, ColumnsCount]));

            int RowsCount = dtReport.Rows.Count;

            object[,] Cells = new object[RowsCount, ColumnsCount];

            for (int j = 0; j < RowsCount; j++)
            {
                for (int i = 0; i < ColumnsCount; i++)
                {
                    Cells[j, i] = dtReport.Rows[j][i];
                }
            }

            Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[2, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[RowsCount + 1, ColumnsCount])).Value = Cells;
            Excel.Visible = true;
        }
Ejemplo n.º 12
0
        //get single row values, stored in a string list
        private List <string> GetRowVals(Microsoft.Office.Interop.Excel._Worksheet xlSheet, int row)
        {
            List <string> values = new List <string>();

            Microsoft.Office.Interop.Excel.Range cell = xlSheet.get_Range(CellName(row, 1));
            while (cell.Value2 != null)
            {
                values.Add("" + cell.Value2);
                cell = cell.Next;
            }
            return(values);
        }
        public Task ConvertTableDataToExcelSheet()
        {
            var tcs = new TaskCompletionSource <int>();

            try
            {
                Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
                int startRow = Constant.ExcelStartRow;

                oXL.Visible = true;

                if (this.dsData != null && this.dsData.Tables.Count >= 2)
                {
                    Microsoft.Office.Interop.Excel._Workbook  oWB    = oXL.Workbooks.Add();
                    Microsoft.Office.Interop.Excel._Worksheet oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

                    // Source IN
                    oSheet.Cells[(startRow - 1), 1] = "IP";
                    oSheet.Cells[(startRow - 1), 2] = "Traffic";
                    oSheet.Cells[(startRow - 1), 3] = "Traffic %";

                    // Source OUT
                    oSheet.Cells[(startRow - 1), 5] = "IP";
                    oSheet.Cells[(startRow - 1), 6] = "Traffic";
                    oSheet.Cells[(startRow - 1), 7] = "Traffic %";

                    Microsoft.Office.Interop.Excel.Range oRange = oSheet.get_Range("A2", "Z2");
                    oRange.Font.Bold         = true;
                    oRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;

                    for (int j = 0; j < this.rowsCount; j++)
                    {
                        oSheet.Cells[(j + startRow), 1] = dsData.Tables[0].Rows[j]["IP"];
                        oSheet.Cells[(j + startRow), 2] = dsData.Tables[0].Rows[j]["Traffic"];
                        oSheet.Cells[(j + startRow), 3] = dsData.Tables[0].Rows[j]["TrafficPerc"];

                        oSheet.Cells[(j + startRow), 5] = dsData.Tables[1].Rows[j]["IP"];
                        oSheet.Cells[(j + startRow), 6] = dsData.Tables[1].Rows[j]["Traffic"];
                        oSheet.Cells[(j + startRow), 7] = dsData.Tables[1].Rows[j]["TrafficPerc"];
                    }
                }
            }
            catch (Exception ex)
            {
                this.master.bi.BusyOff();
                Helper.LogError(this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex);
            }

            return(tcs.Task);
        }
Ejemplo n.º 14
0
        public void save(string filename)
        {
            oRng = oSheet.get_Range("A1", "O1");
            oRng.EntireColumn.AutoFit();

            File.Delete(filename);
            // package.SaveAs(new FileInfo(filename));
            oXL.Visible     = false;
            oXL.UserControl = false;
            oWB.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                       false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                       Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            oWB.Close();
        }
Ejemplo n.º 15
0
        //get a list of Row objects for a sheet
        private void LoadRows(Sheet s, Microsoft.Office.Interop.Excel._Worksheet xlSheet)
        {
            int row = 2;

            while (xlSheet.get_Range(CellName(row, 1)).Value2 != null)
            {
                Row r = new Row()
                {
                    Id      = _rows.Count(),
                    SheetId = s.Id,
                    Data    = GetRowData(GetRowVals(xlSheet, 1), GetRowVals(xlSheet, row++))
                };
                _rows.Add(r);
            }
        }
Ejemplo n.º 16
0
        static public void CreateColumnName(DataTable dt, Microsoft.Office.Interop.Excel._Worksheet xlSheet, int pos_row)
        {
            int _ColumnsCount = dt.Columns.Count;

            //set thuoc tinh cho cac header
            Microsoft.Office.Interop.Excel.Range header = xlSheet.get_Range("A" + pos_row.ToString(), Convert.ToChar(_ColumnsCount + 65) + pos_row.ToString());
            header.Select();

            header.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;
            header.Font.Bold           = true;
            header.Font.Size           = 12;

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                xlSheet.Cells[pos_row, i + 1] = dt.Columns[i].ColumnName;
            }
        }
Ejemplo n.º 17
0
 private void exportHistoryToExcelToolStripMenuItem_Click(object sender, EventArgs e)
 {
     // creating Excel Application
     Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
     app.ScreenUpdating = false;
     // creating new WorkBook within Excel application
     Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add();
     // creating new Excelsheet in workbook
     Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
     // see the excel sheet behind the program
     app.Visible = true;
     // get the reference of first sheet. By default its name is Sheet1.
     // store its reference to worksheet
     worksheet = workbook.ActiveSheet;
     // changing the name of active sheet
     worksheet.Name = "Exported from MAS345 GUI";
     // storing header part in Excel
     for (int i = 1; i < dataGridView1.Columns.Count - 1; i++)
     {
         worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
         worksheet.Cells[1, i].Borders.Color = ColorTranslator.ToOle(Color.Black);
         worksheet.Cells[1, i].Font.Bold     = true;
     }
     // storing Each row and column value to excel sheet
     for (int i = 0; i < dataGridView1.Rows.Count; i++)
     {
         for (int j = 0; j < dataGridView1.Columns.Count - 2; j++)
         {
             worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
             worksheet.Cells[i + 2, j + 1].Interior.Color = ColorTranslator.ToOle((dataGridView1.Rows[i].DataBoundItem as MeasureListItem).ItemColor);
             worksheet.Cells[i + 2, j + 1].Borders.Color  = ColorTranslator.ToOle(Color.Black);
         }
     }
     // save the application
     //workbook.SaveAs("c:\\output.xls", System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);
     // Exit from the application
     worksheet.get_Range("A1", "D" + dataGridView1.RowCount + 1).Columns.AutoFit();
     app.ScreenUpdating = true;
     //app.Quit();
 }
Ejemplo n.º 18
0
        public static void Write(List <SimulationData> excelData)
        {
            foreach (var process in System.Diagnostics.Process.GetProcessesByName("Excel"))
            {
                process.Kill();
            }
            oXL = new Microsoft.Office.Interop.Excel.Application
            {
                Visible = true
            };

            //Add new Excel workbook
            oWB    = oXL.Workbooks.Add("");
            oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
            oSheet.EnableSelection = Microsoft.Office.Interop.Excel.XlEnableSelection.xlNoSelection;
            var i = 1;

            foreach (var data in excelData)
            {
                //Populate excel worksheet with data
                oSheet.Cells[i, 1] = data.Time;
                oSheet.Cells[i, 2] = data.Buffer;
                oSheet.Cells[i, 3] = data.BandWidth;
                oSheet.Cells[i, 4] = data.BitRate;

                i += 1;
            }
            //Draw line chart based on data
            Microsoft.Office.Interop.Excel.ChartObjects xlCharts  = (Microsoft.Office.Interop.Excel.ChartObjects)oSheet.ChartObjects(Type.Missing);
            Microsoft.Office.Interop.Excel.ChartObject  myChart   = xlCharts.Add(10, 80, 300, 250);
            Microsoft.Office.Interop.Excel.Chart        chartPage = myChart.Chart;
            chartPage.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
            var seriesCollection = (Microsoft.Office.Interop.Excel.SeriesCollection)chartPage.SeriesCollection();

            Microsoft.Office.Interop.Excel.Series series1 = seriesCollection.NewSeries();
            series1.Name    = "Długość Bufora";
            series1.XValues = oSheet.get_Range("A1", "A" + i);
            series1.Values  = oSheet.get_Range("B1", "B" + i);
            Microsoft.Office.Interop.Excel.Series series2 = seriesCollection.NewSeries();
            series2.Name    = "Pasmo";
            series2.XValues = oSheet.get_Range("A1", "A" + i);
            series2.Values  = oSheet.get_Range("C1", "C" + i);
            Microsoft.Office.Interop.Excel.Series series3 = seriesCollection.NewSeries();
            series3.Name    = "Przeplywnosc fragmentu";
            series3.XValues = oSheet.get_Range("A1", "A" + i);
            series3.Values  = oSheet.get_Range("D1", "D" + i);
        }
Ejemplo n.º 19
0
        public void PrototypeCreateXlsDoc()
        {
            //Start Excel and get Application object.
            oXL         = new Microsoft.Office.Interop.Excel.Application();
            oXL.Visible = false;

            //Get a new workbook.
            oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
            oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

            //Add table headers going cell by cell.
            oSheet.Cells[1, 1]  = @"Прізвище, ім'я, по батькові фізичної особи";
            oSheet.Cells[1, 2]  = @"Місце проживання";
            oSheet.Cells[1, 3]  = @"Види діяльності";
            oSheet.Cells[1, 4]  = @"Дата державної реєстрації, дата та номер запису в Єдиному державному реєстрі про включення до Єдиного державного реєстру відомостей про фізичну особу-підприємця – у разі, коли державна реєстрація фізичної особи-підприємця була проведена до набрання чинності Законом України “Про державну реєстрацію юридичних осіб та фізичних осіб-підприємців”";
            oSheet.Cells[1, 5]  = @"Дата та номер запису про проведення державної реєстрації фізичної особи-підприємця";
            oSheet.Cells[1, 6]  = @"Місцезнаходження реєстраційної справи";
            oSheet.Cells[1, 7]  = @"Дата та номер запису про взяття та зняття з обліку, назва та ідентифікаційні коди органів статистики, Міндоходів, Пенсійного фонду України, в яких фізична особа-підприємець перебуває на обліку:";
            oSheet.Cells[1, 8]  = @"Дані органів державної статистики про основний вид економічної діяльності фізичної особи-підприємця, визначений на підставі даних державних статистичних спостережень відповідно до статистичної методології за підсумками діяльності за рік";
            oSheet.Cells[1, 9]  = @"Дані про реєстраційний номер платника єдиного внеску, клас професійного ризику виробництва платника єдиного внеску за основним видом його економічної діяльності";
            oSheet.Cells[1, 10] = @"Термін, до якого фізична особа-підприємець перебуває на обліку в органі Міндоходів за місцем попередньої реєстрації, у разі зміни місця проживання фізичної особи-підприємця";
            oSheet.Cells[1, 11] = @"Дані про перебування фізичної особи-підприємця в процесі припинення підприємницької діяльності, банкрутства";
            oSheet.Cells[1, 12] = @"Прізвище, ім'я, по батькові особи, яка призначена управителем майна фізичної особи-підприємця";
            oSheet.Cells[1, 13] = @"Дата та номер запису про державну реєстрацію припинення підприємницької діяльності фізичною особою-підприємцем, підстава для його внесення";
            oSheet.Cells[1, 14] = @"Дата відміни державної реєстрації припинення підприємницької діяльності фізичною особою-підприємцем, підстава її внесення";
            oSheet.Cells[1, 15] = @"Дата відкриття виконавчого провадження щодо фізичної особи - підприємця (для незавершених виконавчих проваджень)";
            oSheet.Cells[1, 16] = @"Інформація про здійснення зв'язку з фізичною особою-підприємцем";

            //Format A1:D1 as bold, vertical alignment = center.
            oSheet.get_Range("A1", "P1").Font.Bold  = true;
            oSheet.Columns["A:P"].VerticalAlignment =
                Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
            oSheet.Columns["A:P"].WrapText           = true;
            oSheet.get_Range("A1", "P1").ColumnWidth = 20;

            // Create an array to multiple values at once.
            //string[,] saNames = new string[5, 2];

            //saNames[0, 0] = "John";
            //saNames[0, 1] = "Smith";
            //saNames[1, 0] = "Tom";
            //saNames[4, 1] = "Johnson";

            ////Fill A2:B6 with an array of values (First and Last Names).
            //oSheet.get_Range("A2", "B6").Value2 = saNames;

            ////Fill C2:C6 with a relative formula (=A2 & " " & B2).
            //oRng = oSheet.get_Range("C2", "C6");
            //oRng.Formula = ("=A2 & \" \" & B2");

            ////Fill D2:D6 with a formula(=RAND()*100000) and apply format.
            //oRng = oSheet.get_Range("D2", "D6");
            //oRng.Formula = "=RAND()*100000";
            //oRng.NumberFormat = "$0.00";

            //AutoFit columns A:D.tt
            oRng = oSheet.get_Range("A1", "D1");
            oRng.EntireColumn.AutoFit();

            oXL.UserControl = false;

            string codeBase = AppContext.BaseDirectory;
            int    fileName = 0;
            string outputFile;

            do
            {
                outputFile = Path.Combine(codeBase, $"{fileName++}.xlsx");
            } while (File.Exists(outputFile));

            oWB.SaveAs(outputFile, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                       false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                       Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            oWB.Close();
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 打印交易票
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void printBtn_Click(object sender, EventArgs e)
        {
            try
            {
                vehicle           = VehicleDao.GetBySerial(this.serial.Text);
                vehicle.Isprinted = true;
                vehicle.Isgrant   = false;
                VehicleDao.UpdateVehicle(vehicle);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            Object oMissing = System.Reflection.Missing.Value;

            Microsoft.Office.Interop.Excel.Application m_objExcel = null;

            Microsoft.Office.Interop.Excel._Workbook m_objBook = null;

            Microsoft.Office.Interop.Excel.Sheets m_objSheets = null;

            Microsoft.Office.Interop.Excel._Worksheet m_objSheet = null;

            Microsoft.Office.Interop.Excel.Range m_objRange = null;

            try
            {
                m_objExcel = new Microsoft.Office.Interop.Excel.Application();

                DirectoryInfo Dir = new DirectoryInfo(".");

                m_objBook = m_objExcel.Workbooks.Open(Dir.FullName + "/Templete/Input.xls", oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);

                m_objSheets = (Microsoft.Office.Interop.Excel.Sheets)m_objBook.Worksheets;

                m_objSheet = (Microsoft.Office.Interop.Excel._Worksheet)(m_objSheets.get_Item(1));

                // 开票日期
                m_objRange = m_objSheet.get_Range("B1", oMissing);

                m_objRange.Value = DateTime.ParseExact(VehicleDao.GetCurrentDate(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture).ToString("yyyy/MM/dd");

                // 开票人
                m_objRange = m_objSheet.get_Range("K19", oMissing);

                m_objRange.Value = LoginForm.user.UsersName;

                // 买 方 单 位 /个人
                m_objRange = m_objSheet.get_Range("C5", oMissing);

                m_objRange.Value = this.currentName.Text;

                // 单位代码/身份证号码

                m_objRange = m_objSheet.get_Range("K5", oMissing);

                m_objRange.Value = this.currentId.Text;

                // 买方单位/个人住址
                m_objRange = m_objSheet.get_Range("C6", oMissing);

                m_objRange.Value = this.currentAddress.Text;

                // 电话
                m_objRange = m_objSheet.get_Range("L6", oMissing);

                m_objRange.Value = this.currentPhone.Text;

                // 卖 方 单 位/ 个人

                m_objRange = m_objSheet.get_Range("C7", oMissing);

                m_objRange.Value = this.originName.Text;

                // 单位代码/身份证号码
                m_objRange = m_objSheet.get_Range("K7", oMissing);

                m_objRange.Value = this.originId.Text;

                // 卖方单位/个人住址
                m_objRange = m_objSheet.get_Range("C8", oMissing);

                m_objRange.Value = this.originAddress.Text;

                // 电话
                m_objRange = m_objSheet.get_Range("L8", oMissing);

                m_objRange.Value = this.originPhone.Text;

                // 车   牌   照   号
                m_objRange = m_objSheet.get_Range("C9", oMissing);

                m_objRange.Value = "辽B." + this.license.Text;

                // 登记证号
                m_objRange = m_objSheet.get_Range("E9", oMissing);

                m_objRange.Value = this.certificate.Text;

                // 车 辆 类 型
                m_objRange = m_objSheet.get_Range("L9", oMissing);

                m_objRange.Value = this.vehicleType.Text;

                // 车架号/车辆识别代码
                m_objRange = m_objSheet.get_Range("C10", oMissing);

                m_objRange.Value = this.vin.Text;

                // 厂牌型号
                m_objRange = m_objSheet.get_Range("E10", oMissing);

                m_objRange.Value = this.brand.Text;

                // 转入地车辆管理所名称
                m_objRange = m_objSheet.get_Range("L10", oMissing);

                m_objRange.Value = this.department.Text;

                // 车价 合 计(大写)
                m_objRange = m_objSheet.get_Range("C11", oMissing);

                m_objRange.Value = this.transactions.Text;

                // 车价 合 计(小写)
                m_objRange = m_objSheet.get_Range("L11", oMissing);

                m_objRange.Value = this.transactions.Text;

                m_objExcel.DisplayAlerts = false;
                m_objSheet.PrintOut();
            }

            catch (Exception ex)
            {
                MessageBox.Show("打印失败,请检查打印机设置。错误信息:" + ex.Message);
            }

            finally
            {
                if (m_objBook != null)
                {
                    m_objBook.Close(oMissing, oMissing, oMissing);

                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
                }
                if (m_objExcel != null)
                {
                    m_objExcel.Workbooks.Close();
                    m_objExcel.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
                }

                m_objBook = null;

                m_objExcel = null;

                GC.Collect();
            }

            this.resetControlContent();
            this.setControlReadOnly(true);
            this.serial.Focus();
            this.serial.Select(this.serial.Text.Length, 0);
        }
Ejemplo n.º 21
0
        public void writeToExcel(DataTable dt)
        {
            string outFile = "";

            try {
                //Start Excel and get Application object.
                oXL               = new Microsoft.Office.Interop.Excel.Application();
                oXL.Visible       = false;
                oXL.UserControl   = false;
                oXL.DisplayAlerts = false;

                //Get a new workbook.
                oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
                oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

                //Add table headers going cell by cell.
                oSheet.Cells[1, 1]  = "Policy";     //A
                oSheet.Cells[1, 2]  = "Fullname";   //B
                oSheet.Cells[1, 3]  = "Sfx Prod";   //C
                oSheet.Cells[1, 4]  = "Premium";    //D
                oSheet.Cells[1, 5]  = "mmyy";       //E
                oSheet.Cells[1, 6]  = "Rate %";     //F
                oSheet.Cells[1, 7]  = "Rate";       //G
                oSheet.Cells[1, 8]  = "Rate2";      //H
                oSheet.Cells[1, 9]  = "Code";       //I
                oSheet.Cells[1, 10] = "Commission"; //J
                oSheet.Cells[1, 11] = "Renewal";    //K
                oSheet.Cells[1, 12] = "Issue Date"; //L

                //Format A1:D1 as bold, vertical alignment = center.
                oSheet.get_Range("A1", "L1").Font.Bold         = true;
                oSheet.get_Range("A1", "L1").VerticalAlignment =
                    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    object[] outPut = dt.Rows[i].ItemArray;
                    oSheet.get_Range("A" + (i + 2), "L" + (i + 2)).Value2 = outPut;
                }
                oRng = oSheet.get_Range("A1", "L1");
                oRng.EntireColumn.AutoFit();
                oXL.Visible     = false;
                oXL.UserControl = false;

                outFile = GetSavePath();

                oWB.SaveAs(outFile,
                           56, //Seems to work better than default excel 16
                           Type.Missing,
                           Type.Missing,
                           false,
                           false,
                           Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                           Type.Missing,
                           Type.Missing,
                           Type.Missing,
                           Type.Missing,
                           Type.Missing);

                //System.Diagnostics.Process.Start(outFile);
            }
            catch (Exception ex) {
                System.Windows.Forms.MessageBox.Show("Error: " + ex.Message, "Error");
            }
            finally {
                if (oWB != null)
                {
                    oWB.Close();
                }
                if (File.Exists(outFile))
                {
                    System.Diagnostics.Process.Start(outFile);
                }
            }
        }
Ejemplo n.º 22
0
        private void button2_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            ds.ReadXml(Application.StartupPath + "\\ExcelBindingXml.xml");

            Microsoft.Office.Interop.Excel.Application m_objExcel = null;

            Microsoft.Office.Interop.Excel._Workbook m_objBook = null;

            Microsoft.Office.Interop.Excel.Sheets m_objSheets = null;

            Microsoft.Office.Interop.Excel._Worksheet m_objSheet = null;

            Microsoft.Office.Interop.Excel.Range m_objRange = null;

            object m_objOpt = System.Reflection.Missing.Value;

            try
            {
                m_objExcel  = new Microsoft.Office.Interop.Excel.Application();
                m_objBook   = m_objExcel.Workbooks.Open(Application.StartupPath + "\\ExcelTemplate.xlsx", m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
                m_objSheets = (Microsoft.Office.Interop.Excel.Sheets)m_objBook.Worksheets;
                m_objSheet  = (Microsoft.Office.Interop.Excel._Worksheet)(m_objSheets.get_Item(1));
                int maxRow   = m_objSheet.UsedRange.Rows.Count;
                int maxCol   = m_objSheet.UsedRange.Columns.Count;
                int TitleRow = 0;
                for (int excelrow = 1; excelrow <= maxRow; excelrow++)
                {
                    for (int col = 0; col < maxCol; col++)
                    {
                        string excelColName = ExcelColNumberToColText(col);
                        m_objRange = m_objSheet.get_Range(excelColName + excelrow.ToString(), m_objOpt);
                        m_objRange.Text.ToString().Contains("$");
                        TitleRow = excelrow;
                        break;
                    }
                }
                for (int excelrow = 1; excelrow <= ds.Tables[0].Rows.Count; excelrow++)
                {
                    DataRow dr = ds.Tables[0].Rows[excelrow - 1];
                    for (int col = 0; col < maxCol; col++)
                    {
                        string excelColName = ExcelColNumberToColText(col);

                        m_objRange = m_objSheet.get_Range(excelColName + TitleRow.ToString(), m_objOpt);
                        //Microsoft.Office.Interop.Excel.Range item_objRange = m_objSheet.get_Range(excelColName + (maxRow + excelrow).ToString(), m_objOpt);

                        if (m_objRange.Text.ToString().Replace("$", "") == ds.Tables[0].Columns[col].ColumnName)
                        {
                            m_objSheet.Cells[maxRow + excelrow, col + 1].value = dr[col].ToString();
                            m_objSheet.Cells[maxRow + excelrow, col + 1].Style = m_objRange.Style;
                            Console.WriteLine(m_objSheet.Cells[maxRow + excelrow, col + 1].value + ":" + dr[col].ToString());
                            //item_objRange.Value2 = dr[col].ToString();
                        }
                    }
                }
                Microsoft.Office.Interop.Excel.Range range = (Microsoft.Office.Interop.Excel.Range)m_objSheet.Rows[TitleRow, m_objOpt];
                range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp);

                m_objExcel.DisplayAlerts = false;
                m_objBook.SaveAs(Application.StartupPath + "\\ExcelBindingXml.xlsx", m_objOpt, m_objOpt,
                                 m_objOpt, m_objOpt, m_objOpt, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,

                                 m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                m_objBook.Close(m_objOpt, m_objOpt, m_objOpt);
                m_objExcel.Workbooks.Close();
                m_objExcel.Quit();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
                m_objBook  = null;
                m_objExcel = null;
                GC.Collect();
            }
        }
Ejemplo n.º 23
0
        //public void DataTabe_to_Excel(DataTable table, string table_name)
        // {
        //     Microsoft.Office.Interop.Excel._Application excelApp = null;
        //     Microsoft.Office.Interop.Excel.Workbook currentWorkbook = null;
        //     Microsoft.Office.Interop.Excel.Worksheet currentWorksheet;
        //     try
        //     {
        //         excelApp = new Microsoft.Office.Interop.Excel._Application();
        //         currentWorkbook = excelApp.Workbooks.Add(Type.Missing);

        //         //add data to excell


        //         currentWorksheet= currentWorkbook.Worksheets.Add(table, table_name);
        //         currentWorksheet.Activate();
        //     }
        //     catch (Exception)
        //     {

        //         throw;
        //     }
        // }



        public void ExportToExcel(DataTable DataTable, string sheet_name = "sheet1", string ExcelFilePath = null)
        {
            try
            {
                int ColumnsCount;

                if (DataTable == null || (ColumnsCount = DataTable.Columns.Count) == 0)
                {
                    throw new Exception("ExportToExcel: Null or empty input table!\n");
                }

                // load excel, and create a new workbook
                Microsoft.Office.Interop.Excel._Application Excel = new Microsoft.Office.Interop.Excel.Application();
                Excel.Workbooks.Add();

                // single worksheet
                Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet;
                Worksheet.Name = sheet_name;
                object[] Header = new object[ColumnsCount];

                // column headings
                for (int i = 0; i < ColumnsCount; i++)
                {
                    Header[i] = DataTable.Columns[i].ColumnName;
                }

                Microsoft.Office.Interop.Excel.Range HeaderRange = Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[1, ColumnsCount]));
                HeaderRange.Value = Header;
                HeaderRange.Interior.ColorIndex = 50;
                HeaderRange.Font.ColorIndex     = 2;
                HeaderRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
                HeaderRange.VerticalAlignment   = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
                HeaderRange.Font.Bold           = true;


                // DataCells
                int RowsCount = DataTable.Rows.Count;
                object[,] Cells = new object[RowsCount, ColumnsCount];

                for (int j = 0; j < RowsCount; j++)
                {
                    for (int i = 0; i < ColumnsCount; i++)
                    {
                        Cells[j, i] = DataTable.Rows[j][i];
                    }
                }

                Worksheet.get_Range((Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[2, 1]), (Microsoft.Office.Interop.Excel.Range)(Worksheet.Cells[RowsCount + 1, ColumnsCount])).Value = Cells;

                // check fielpath
                if (ExcelFilePath != null && ExcelFilePath != "")
                {
                    try
                    {
                        Worksheet.SaveAs(ExcelFilePath);
                        Excel.Quit();
                    }
                    catch (Exception ex)
                    {
                        throw new Exception("ExportToExcel: Excel file could not be saved! Check filepath.\n"
                                            + ex.Message);
                    }
                }
                else    // no filepath is given
                {
                    Excel.Visible = true;
                }
                Worksheet.UsedRange.Columns.AutoFit();
            }
            catch (Exception ex)
            {
                throw new Exception("ExportToExcel: \n" + ex.Message);
            }
        }
Ejemplo n.º 24
0
        void write()
        {
            timer1.Stop();
            SaveWorkTimeOnClosing = false;
            Microsoft.Office.Interop.Excel.Application oXL;
            Microsoft.Office.Interop.Excel._Workbook   oWB;
            Microsoft.Office.Interop.Excel._Worksheet  oSheet_mkalat = null;
            Microsoft.Office.Interop.Excel._Worksheet  oSheet_makolat;
            Microsoft.Office.Interop.Excel._Worksheet  oSheet_kabsolat;
            Microsoft.Office.Interop.Excel._Worksheet  oSheet_moade3_5asa;


            //Microsoft.Office.Interop.Excel.Range oRng;
            object misvalue = System.Reflection.Missing.Value;

            try
            {
                //Start Excel and get Application object.
                oXL         = new Microsoft.Office.Interop.Excel.Application();
                oXL.Visible = true;

                //Get a new workbook.
                oWB           = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
                oSheet_mkalat = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
                //==========================مقالات====================
                oSheet_mkalat.Name = "مقالات";
                //date class titel text tages nootes
                //Add table headers going cell by cell.
                oSheet_mkalat.Cells[1, 1] = "التاريخ";
                oSheet_mkalat.Cells[1, 2] = "التصنيف";
                oSheet_mkalat.Cells[1, 3] = "العنوان";
                oSheet_mkalat.Cells[1, 4] = "نص المقال";
                oSheet_mkalat.Cells[1, 5] = "الوسوم";
                oSheet_mkalat.Cells[1, 6] = "ملاحظات";
                //Format A1:D1 as bold, vertical alignment = center.
                oSheet_mkalat.get_Range("A1", "F1").Font.Bold         = true;
                oSheet_mkalat.get_Range("A1", "F1").VerticalAlignment =
                    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                oSheet_mkalat.get_Range("A1", "F1").Interior.Color = Color.LightBlue;


                int m = 2;
                foreach (var item in alldata)
                {
                    if (item.text_type == "مقالات")
                    {
                        oSheet_mkalat.Cells[m, 1]   = item.date;
                        oSheet_mkalat.Cells[m, 2]   = item.text_classfication;
                        oSheet_mkalat.Cells[m, 3]   = item.titel;
                        oSheet_mkalat.Cells[m, 4]   = item.text;
                        oSheet_mkalat.Cells[m, 5]   = item.tages;
                        oSheet_mkalat.Cells[m++, 6] = item.notes;
                    }
                }
                //===========================مقولات===============================
                oSheet_makolat             = (Microsoft.Office.Interop.Excel._Worksheet)oWB.Sheets.Add(After: oWB.Sheets[oWB.Sheets.Count]);
                oSheet_makolat.Cells[1, 1] = "التاريخ";
                oSheet_makolat.Cells[1, 2] = "التصنيف";
                oSheet_makolat.Cells[1, 3] = "المقولة";
                oSheet_makolat.Cells[1, 4] = "القائل";
                oSheet_makolat.Cells[1, 5] = "الملاحظات";
                oSheet_makolat.Name        = "مقولات";

                oSheet_makolat.get_Range("A1", "E1").Font.Bold         = true;
                oSheet_makolat.get_Range("A1", "E1").VerticalAlignment =
                    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                oSheet_makolat.get_Range("A1", "E1").Interior.Color = Color.LightBlue;

                int m1 = 2;
                foreach (var item in alldata)
                {
                    if (item.text_type == "مقولات")
                    {
                        oSheet_makolat.Cells[m1, 1]   = item.date;
                        oSheet_makolat.Cells[m1, 2]   = item.text_classfication;
                        oSheet_makolat.Cells[m1, 3]   = item.text;
                        oSheet_makolat.Cells[m1, 4]   = item.auther;
                        oSheet_makolat.Cells[m1++, 5] = item.notes;
                    }
                }


                //===================كبسولات==================
                oSheet_kabsolat             = (Microsoft.Office.Interop.Excel._Worksheet)oWB.Sheets.Add(After: oWB.Sheets[oWB.Sheets.Count]);;
                oSheet_kabsolat.Name        = "كبسولات";
                oSheet_kabsolat.Cells[1, 1] = "التاريخ";
                oSheet_kabsolat.Cells[1, 2] = "التصنيف";
                oSheet_kabsolat.Cells[1, 3] = " الكبسولة";
                oSheet_kabsolat.Cells[1, 4] = "الوسوم";
                oSheet_kabsolat.Cells[1, 5] = "ملاحظات";

                oSheet_kabsolat.get_Range("A1", "E1").Font.Bold         = true;
                oSheet_kabsolat.get_Range("A1", "E1").VerticalAlignment =
                    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                oSheet_kabsolat.get_Range("A1", "E1").Interior.Color = Color.LightBlue;



                int m11 = 2;
                foreach (var item in alldata)
                {
                    if (item.text_type == "كبسولات")
                    {
                        oSheet_kabsolat.Cells[m11, 1]   = item.date;
                        oSheet_kabsolat.Cells[m11, 2]   = item.text_classfication;
                        oSheet_kabsolat.Cells[m11, 3]   = item.text;
                        oSheet_kabsolat.Cells[m11, 4]   = item.tages;
                        oSheet_kabsolat.Cells[m11++, 5] = item.notes;
                    }
                }
                //==============================مواضيع خاصة===================

                oSheet_moade3_5asa = (Microsoft.Office.Interop.Excel._Worksheet)oWB.Sheets.Add(After: oWB.Sheets[oWB.Sheets.Count]);
                //==========================مقالات====================
                oSheet_moade3_5asa.Name = "مواضيع خاصة";
                //date class titel text tages nootes
                //Add table headers going cell by cell.
                oSheet_moade3_5asa.Cells[1, 1] = "التاريخ";
                oSheet_moade3_5asa.Cells[1, 2] = "التصنيف";
                oSheet_moade3_5asa.Cells[1, 3] = "الموضوع";
                oSheet_moade3_5asa.Cells[1, 4] = "المقولة";
                oSheet_moade3_5asa.Cells[1, 5] = "الوسوم";
                oSheet_moade3_5asa.Cells[1, 6] = "ملاحظات";
                //Format A1:D1 as bold, vertical alignment = center.

                oSheet_moade3_5asa.get_Range("A1", "F1").Font.Bold         = true;
                oSheet_moade3_5asa.get_Range("A1", "F1").VerticalAlignment =
                    Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                oSheet_moade3_5asa.get_Range("A1", "F1").Interior.Color = Color.LightBlue;

                int m3 = 2;
                foreach (var item in alldata)
                {
                    if (item.text_type == "مواضيع خاصة")
                    {
                        oSheet_moade3_5asa.Cells[m3, 1]   = item.date;
                        oSheet_moade3_5asa.Cells[m3, 2]   = item.text_classfication;
                        oSheet_moade3_5asa.Cells[m3, 3]   = item.subject;
                        oSheet_moade3_5asa.Cells[m3, 4]   = item.text;
                        oSheet_moade3_5asa.Cells[m3, 5]   = item.tages;
                        oSheet_moade3_5asa.Cells[m3++, 6] = item.notes;
                    }
                }


                /*
                 * // Create an array to multiple values at once.
                 * string[,] saNames = new string[5, 2];
                 *
                 * saNames[0, 0] = "John";
                 * saNames[0, 1] = "Smith";
                 * saNames[1, 0] = "Tom";
                 *
                 * saNames[4, 1] = "Johnson";
                 *
                 * //Fill A2:B6 with an array of values (First and Last Names).
                 * oSheet_mkalat.get_Range("A2", "B6").Value2 = saNames;
                 *
                 * //Fill C2:C6 with a relative formula (=A2 & " " & B2).
                 * oRng = oSheet_mkalat.get_Range("C2", "C6");
                 * oRng.Formula = "=A2 & \" \" & B2";
                 *
                 * //Fill D2:D6 with a formula(=RAND()*100000) and apply format.
                 * oRng = oSheet_mkalat.get_Range("D2", "D6");
                 * oRng.Formula = "=RAND()*100000";
                 * oRng.NumberFormat = "$0.00";
                 *
                 * //AutoFit columns A:D.
                 * oRng = oSheet_mkalat.get_Range("A1", "D1");
                 */
                // oRng.EntireColumn.AutoFit();

                //oXL.Visible = false;
                //oXL.UserControl = false;

                string excelname = Directory.GetCurrentDirectory() + "\\Excel\\" + filename.Trim() + ".xlsx";
                oWB.SaveAs(excelname, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                           false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                           Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                //oWB.Close();

                //...
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Ejemplo n.º 25
0
        public void CreateXlsDoc(string outputFile, string rangeFrom, string rangeTo, string[,] data)
        {
            //Start Excel and get Application object.
            oXL         = new Microsoft.Office.Interop.Excel.Application();
            oXL.Visible = false;

            //Get a new workbook.
            oWB    = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
            oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;

            //Add table headers going cell by cell.
            List <string> columns = new List <string>()
            {
                @"Ідентифікаційний номер",
                @"Прізвище, ім'я, по батькові фізичної особи",
                @"Місце проживання",
                @"Види діяльності",
                @"Дата державної реєстрації, дата та номер запису в Єдиному державному реєстрі про включення до Єдиного державного реєстру відомостей про фізичну особу-підприємця – у разі, коли державна реєстрація фізичної особи-підприємця була проведена до набрання чинності Законом України “Про державну реєстрацію юридичних осіб та фізичних осіб-підприємців”",
                @"Дата та номер запису про проведення державної реєстрації фізичної особи-підприємця",
                @"Місцезнаходження реєстраційної справи",
                @"Дата та номер запису про взяття та зняття з обліку, назва та ідентифікаційні коди органів статистики, Міндоходів, Пенсійного фонду України, в яких фізична особа-підприємець перебуває на обліку:",
                @"Дані органів державної статистики про основний вид економічної діяльності фізичної особи-підприємця, визначений на підставі даних державних статистичних спостережень відповідно до статистичної методології за підсумками діяльності за рік",
                @"Дані про реєстраційний номер платника єдиного внеску, клас професійного ризику виробництва платника єдиного внеску за основним видом його економічної діяльності",
                @"Термін, до якого фізична особа-підприємець перебуває на обліку в органі Міндоходів за місцем попередньої реєстрації, у разі зміни місця проживання фізичної особи-підприємця",
                @"Дані про перебування фізичної особи-підприємця в процесі припинення підприємницької діяльності, банкрутства",
                @"Прізвище, ім'я, по батькові особи, яка призначена управителем майна фізичної особи-підприємця",
                @"Дата та номер запису про державну реєстрацію припинення підприємницької діяльності фізичною особою-підприємцем, підстава для його внесення",
                @"Дата відміни державної реєстрації припинення підприємницької діяльності фізичною особою-підприємцем, підстава її внесення",
                @"Дата відкриття виконавчого провадження щодо фізичної особи - підприємця (для незавершених виконавчих проваджень)",
                @"Інформація про здійснення зв'язку з фізичною особою-підприємцем",
            };

            const int HEADER_ROW_INDEX = 1;

            for (int i = 0; i < columns.Count; i++)
            {
                oSheet.Cells[HEADER_ROW_INDEX, i + 1] = columns[i];
            }

            const int TITLE_OFFSET = 2;

            for (int i = 0; i < data.GetLength(0); i++)
            {
                for (int j = 0; j < data.GetLength(1); j++)
                {
                    oSheet.Cells[i + TITLE_OFFSET, j + 1] = data[i, j];
                }
            }
            oSheet.get_Range("A1", "Q1").Font.Bold  = true;
            oSheet.Columns["A:Q"].VerticalAlignment =
                Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
            oSheet.Columns["A:Q"].WrapText              = true;
            oSheet.get_Range("A1", "Q1").ColumnWidth    = 20;
            oSheet.get_Range(rangeFrom, rangeTo).Value2 = data;
            for (int i = 0; i < data.GetLength(0); i++)
            {
                string cellWithRef = "A" + (i + TITLE_OFFSET);
                Microsoft.Office.Interop.Excel.Range excelCell = oSheet.get_Range(cellWithRef, Type.Missing);
                Match  match     = Regex.Match(excelCell.Value2.ToString(), @"\d+(.html)$");
                string linkTitle = match.Groups[0].Value.Replace(".html", "");
                excelCell.Hyperlinks.Add(excelCell, excelCell.Value2.ToString(), Type.Missing, "Delphi LLC", linkTitle);
            }
            oRng = oSheet.get_Range("A1", "Q1");
            oRng.EntireColumn.AutoFit();

            oXL.UserControl = false;
            string dt = DateTime.Now.ToShortDateString();

            outputFile = Path.Combine(outputFile, $"Report_{dt}.xlsx");
            oWB.SaveAs(outputFile, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                       false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                       Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            oWB.Close();
        }
Ejemplo n.º 26
0
        private static void exportexcel(System.Data.DataTable dt, string filename, string charttitle, bool tableflag, bool bl)
        {
            //System.Data.DataTable dt = new System.Data.DataTable();

            if (dt == null)
            {
                return;
            }

            Microsoft.Office.Interop.Excel._Workbook oWB;
            Microsoft.Office.Interop.Excel.Series    oSeries;
            //Microsoft.Office.Interop.Excel.Range oResizeRange;
            Microsoft.Office.Interop.Excel._Chart oChart;
            //String sMsg;
            //int iNumQtrs;
            GC.Collect();//系统的垃圾回收

            //string filename = @"C:\Documents and Settings\tongxl\桌面\nnn.xls";
            //Microsoft.Office.Interop.Excel.Application ep = new Microsoft.Office.Interop.Excel.Application();
            //Microsoft.Office.Interop.Excel._Workbook wb = ep.Workbooks.Add(filename);

            Microsoft.Office.Interop.Excel.Application ep = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel._Workbook   wb = ep.Workbooks.Add(true);


            if (ep == null)
            {
                MsgBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
                return;
            }


            ep.Visible = true;
            Microsoft.Office.Interop.Excel.Sheets     sheets = wb.Worksheets;
            Microsoft.Office.Interop.Excel._Worksheet ws     = (Microsoft.Office.Interop.Excel._Worksheet)sheets.get_Item(1);// [System.Type.Missing];//.get.get_Item("xx");
            ws.UsedRange.Select();
            ws.UsedRange.Copy(System.Type.Missing);
            // wb.Charts.Add(System.Type.Missing, System.Type.Missing, 1, System.Type.Missing);
            int rowIndex = 1;
            int colIndex = 1;

            foreach (DataColumn col in dt.Columns)
            {
                ws.Cells[rowIndex, colIndex++] = col.ColumnName;
            }

            for (int drvIndex = 0; drvIndex < dt.Rows.Count; drvIndex++)
            {
                DataRow row = dt.Rows[drvIndex];
                colIndex = 1;
                foreach (DataColumn col in dt.Columns)
                {
                    ws.Cells[drvIndex + 2, colIndex] = row[col.ColumnName].ToString();
                    colIndex++;
                }
            }


            oWB    = (Microsoft.Office.Interop.Excel._Workbook)ws.Parent;
            oChart = (Microsoft.Office.Interop.Excel._Chart)oWB.Charts.Add(Missing.Value, Missing.Value,
                                                                           Missing.Value, Missing.Value);

            int rcount = dt.Rows.Count;
            int ccount = dt.Columns.Count;

            oChart.ChartWizard(ws.get_Range(ws.Cells[1, 1], ws.Cells[rcount + 2, ccount + 2]), Microsoft.Office.Interop.Excel.XlChartType.xlLine, Missing.Value,
                               Microsoft.Office.Interop.Excel.XlRowCol.xlRows, 1, true, true,
                               charttitle, Missing.Value, Missing.Value, Missing.Value);
            // oSeries = (Microsoft.Office.Interop.Excel.Series)oChart.SeriesCollection(1);

            //string str = String.Empty;
            //for (int I = 1; I < 15; I++)

            //{
            //    str += I.ToString() + "\t";
            //}
            //try { oSeries.XValues = str; }
            //catch { }
            //  oSeries.HasDataLabels = true;
            //   string charttitle ,bool tableflag ,bool bl)
            if (tableflag == true)
            {
                oChart.HasDataTable = true;
            }
            else
            {
                oChart.HasDataTable = false;
            }
            oChart.PlotVisibleOnly = false;
            //



            Microsoft.Office.Interop.Excel.Axis axis = (Microsoft.Office.Interop.Excel.Axis)oChart.Axes(
                Microsoft.Office.Interop.Excel.XlAxisType.xlValue,
                Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary);

            //axis.HasTitle = true;
            //axis.AxisTitle.Text = "Sales Figures";
            // axis.HasMinorGridlines=true;
            Microsoft.Office.Interop.Excel.Axis ax = (Microsoft.Office.Interop.Excel.Axis)oChart.Axes(
                Microsoft.Office.Interop.Excel.XlAxisType.xlCategory, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary);

            //ax.HasTitle = true;
            //ax.AxisTitle.Text = "Sales Figures";
            ax.HasMajorGridlines = true;


            //  string filename = @"C:\Documents and Settings\tongxl\桌面\ccsb.xls";
            //  ws.SaveAs(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            try
            {
                wb.Saved = true;
                wb.SaveCopyAs(filename);
            }
            catch (Exception ex)
            {
                MsgBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
            }
            ep.Quit();

            GC.Collect();//强行销毁
        }
Ejemplo n.º 27
0
        private void Button1_Click(object sender, EventArgs e)
        {
            if (cbxRegNo.SelectedIndex == -1)
            {
                MessageBox.Show("Please select a vehicle first.");
            }
            else
            {
                Microsoft.Office.Interop.Excel._Application app       = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel._Workbook    workbook  = app.Workbooks.Add(Type.Missing);
                Microsoft.Office.Interop.Excel._Worksheet   worksheet = null;
                app.Visible    = true;
                worksheet      = workbook.Sheets["Sheet1"];
                worksheet      = workbook.ActiveSheet;
                worksheet.Name = "Deliveries";

                Microsoft.Office.Interop.Excel.Style myStyle1 = workbook.Styles.Add("myStyle1");
                myStyle1.Font.Name        = "Verdana";
                myStyle1.Font.Size        = 12;
                myStyle1.Font.Bold        = true;
                myStyle1.Font.Color       = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
                myStyle1.Interior.Pattern = Microsoft.Office.Interop.Excel.XlPattern.xlPatternSolid;

                Microsoft.Office.Interop.Excel.Style myStyle2 = workbook.Styles.Add("myStyle2");
                myStyle2.Font.Name        = "Verdana";
                myStyle2.Font.Size        = 11;
                myStyle2.Font.Bold        = true;
                myStyle2.Font.Color       = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
                myStyle2.Interior.Color   = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightBlue);
                myStyle2.Interior.Pattern = Microsoft.Office.Interop.Excel.XlPattern.xlPatternSolid;


                worksheet.Cells[1, 1] = "R-Line Courier System";
                worksheet.Cells[2, 1] = "Vehicle " + cbxRegNo.Text + " delivery information for " + (dateTimeDeliver.Value.ToString()).Substring(0, 10);
                worksheet.Cells[3, 1] = "Report dated " + DateTime.Now.ToString();

                Microsoft.Office.Interop.Excel.Range formatRange;
                formatRange       = worksheet.get_Range("a1", "c3");
                formatRange.Style = "myStyle1";

                formatRange       = worksheet.get_Range("a5", "l5");
                formatRange.Style = "myStyle2";
                formatRange.BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlHairline, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic);

                formatRange.BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThick, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic);

                worksheet.Columns[1].ColumnWidth  = 20;
                worksheet.Columns[2].ColumnWidth  = 20;
                worksheet.Columns[3].ColumnWidth  = 25;
                worksheet.Columns[4].ColumnWidth  = 20;
                worksheet.Columns[5].ColumnWidth  = 25;
                worksheet.Columns[6].ColumnWidth  = 20;
                worksheet.Columns[7].ColumnWidth  = 20;
                worksheet.Columns[8].ColumnWidth  = 20;
                worksheet.Columns[9].ColumnWidth  = 35;
                worksheet.Columns[10].ColumnWidth = 35;
                worksheet.Columns[11].ColumnWidth = 35;
                worksheet.Columns[12].ColumnWidth = 20;

                //columns will start at 4
                int counter = 4;


                for (int i = 1; i < dgvDeliveries.Columns.Count + 1; i++)
                {
                    worksheet.Cells[1 + counter, i] = dgvDeliveries.Columns[i - 1].HeaderText;
                }
                // storing Each row and column value to excel sheet
                for (int i = 0; i < dgvDeliveries.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dgvDeliveries.Columns.Count; j++)
                    {
                        worksheet.Cells[i + 2 + counter, j + 1] = dgvDeliveries.Rows[i].Cells[j].Value.ToString();
                    }
                }


                app.Quit();
            }
        }
Ejemplo n.º 28
0
        private void hojas_SelectedIndexChanged(object sender, EventArgs e)
        {
            bool nullrow = false;

            row  = 0;
            Hoja = Hojas[hojas.SelectedIndex];
            //ya tengo abierto el archivo de exel
            //ahora intento estraer los registro de la hoja
            while (!nullrow)
            {
                nullrow = true;
                row++;
                FilaXLS obj = new FilaXLS();
                for (int col = 0; col <= 100; col++)
                {
                    CColumna cc = new CColumna();
                    string   cell;
                    char     cy = ' ';
                    char     cx = ((char)(65 + col)).ToString()[0];
                    if (cx > 'Z')
                    {
                        cy = (char)(64 + (int)col / (int)26);
                        cx = (char)((int)cx - (int)'Z' + 64);
                    }
                    cell  = cy.ToString().Trim() + cx.ToString();
                    cell += row;
                    try
                    {
                        cc.Columna = cell;
                        cc.x       = cx.ToString();
                        cc.y       = cy.ToString();
                        cell       = (string)Hoja.get_Range(cell, cell).Text;
                    }
                    catch (System.Exception)
                    {
                        break;
                    }
                    if (cell != "")
                    {
                        try
                        {
                            cc.Nombre = cell;
                            ListaCamposOrigen.Items.Add(cc);
                            obj.v[col] = cell;
                            nullrow    = false;
                        }
                        catch (Exception)
                        {
                            obj.v[col - 1] = "";
                        }
                    }
                    else
                    {
                        return;
                    }
                }
                //if (!nullrow)
                //{
                //    ListaCeldas.Items.Add(cell);
                //}
                //nullrow = false;
            }
        }
Ejemplo n.º 29
0
        private void LeerLinea()
        {
            bool nullrow = true;

            row++;
            FilaXLS obj = new FilaXLS();
            //creo el comando para subir el campo a la base de datos
            string s = "";
            string s1 = "insert into " + TTablaDestino.Text + "(";
            int    i, n;

            n = ListaCamposDestino2.Items.Count;
            bool primero = true;

            s       = s + ") values(";
            primero = true;
            bool hayDatos = false;

            //recorre todos los campos
            for (int col = 0; col < ListaCamposOrigen2.Items.Count; col++)
            {
                Objetos.CParametro obj2 = (Objetos.CParametro)ListaCamposDestino2.Items[col];
                if (primero == true)
                {
                    primero = false;
                }
                else
                {
                    s1 = s1 + ",";
                    s  = s + ",";
                }
                //Objetos.CParametro obj2 = (Objetos.CParametro)ListaCamposDestino2.Items[col];
                s1 = s1 + obj2.nombre;
                //lectura del registro de excel
                CColumna cc = (CColumna)ListaCamposOrigen2.Items[col];
                string   cell;
                char     cy = ' ';
                char     cx = ((char)(65 + col)).ToString()[0];
                if (cx > 'Z')
                {
                    cy = (char)(64 + (int)col / (int)26);
                    cx = (char)((int)cx - (int)'Z' + 64);
                }
                cell  = cy.ToString().Trim() + cx.ToString();
                cell += row;
                try
                {
                    cc.Columna = cell;
                    if (Hoja.get_Range(cell, cell).Text != null)
                    {
                        cell = (string)Hoja.get_Range(cell, cell).Text;
                    }
                    else
                    {
                        cell = "";
                    }
                }
                catch (System.Exception)
                {
                    break;
                }
                if (cell != "")
                {
                    try
                    {
                        cc.Nombre  = cell;
                        obj.v[col] = cell;
                        nullrow    = false;
                    }
                    catch (Exception)
                    {
                        obj.v[col - 1] = "";
                    }
                }
                //termino de agregar los datos del campo de la consulta
                if (obj.v[col] == null)
                {
                    obj.v[col] = "";
                }
                if (obj.v[col].Length > obj2.Logitud && obj2.Logitud >= 0)
                {
                    s = s + "\'" + obj.v[col].Substring(0, obj2.Logitud).Replace('\'', ' ') + "\'";
                }
                else
                {
                    s = s + "\'" + obj.v[col].Replace('\'', ' ') + "\'";
                }
                if (obj.v[col] != "")
                {
                    hayDatos = true;
                }
            }
            if (!nullrow)
            {
                //aqui tengo el registro de exel
                s = s1 + s + ")";
                if (hayDatos == false)
                {
                    //timer1.Enabled = false;
                    status                = 2;
                    row                   = Comandos.Count;
                    BProgreso.Progreso    = 0;
                    BProgreso.ValorMaximo = row;
                    xlLibro.Close(false, Missing.Value, Missing.Value);
                    xlApp.Quit();
                    return;
                }
                else
                {
                    try
                    {
                        BProgreso.Texto = Comandos.Count + " Registros leídos";//row.ToString() + " Registros leídos";
                        Comandos.Add(s);
                    }
                    catch (System.Exception ex)
                    {
                        Errores = Errores + "\n" + ex;;
                    }
                }
            }
            else
            {
                status             = 2;
                row                = Comandos.Count;
                BProgreso.Progreso = 0;
                if (row > 0)
                {
                    BProgreso.ValorMaximo = row;
                }
                xlLibro.Close(false, Missing.Value, Missing.Value);
                xlApp.Quit();
            }
            nullrow = false;
        }
Ejemplo n.º 30
0
        protected override void Execute(NativeActivityContext context)
        {
            object misValue = Missing.Value;

            string[] rang = null;
            string   R1   = null;
            string   R2   = null;

            FileParth = @FilePath.Get(context);
            SheetName = Sheet.Get(context);
            string range = Range.Get(context);



            try
            {
                ExcelHelper.Shared.Close_OpenedFile(FileParth);

                //if (CommonLibrary.CustomException.CheckFileExists(FileParth) == true)       //Custom Exception
                //{



                char[] ch = { ':' };



                if (range.Contains(":"))
                {
                    //rang = range.Split(ch[0]);
                    //R1 = rang[0];
                    //R2 = rang[1];
                    throw new Exception("Exception in " + DisplayName + ": invalid cell number");
                }
                else
                {
                    R1 = range;
                }



                xlApp         = new Microsoft.Office.Interop.Excel.Application();
                xlApp.Visible = false;



                xlWorkBook  = xlApp.Workbooks.Open(FileParth, misValue, false, misValue, misValue, misValue, true, misValue, misValue, misValue, misValue, misValue, false, misValue, misValue);
                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Sheets[SheetName];



                xlWorkSheet.Activate();



                if (R1 != null)
                {
                    xlRange = xlWorkSheet.get_Range(R1);
                }



                //if (R1 != null && R2 == null)
                //{
                //    xlRange = xlWorkSheet.get_Range(R1);
                //}



                string str = xlRange.Formula;



                Result.Set(context, str);
                //}
            }
            catch (Exception e)
            {
                Logger.Log.Logger.LogData("Exception  " + e.Message, LogLevel.Error);
                if (!ContinueOnError)
                {
                    context.Abort();
                }
            }
            finally
            {
                xlWorkBook.Save();
                xlWorkBook.Close(true, FileParth, Missing.Value);
                xlApp.Quit();



                Marshal.ReleaseComObject(xlWorkSheet);
                Marshal.ReleaseComObject(xlWorkBook);
                Marshal.ReleaseComObject(xlApp);
            }
        }