//Сохранение результатов исследований private void Saving_Click(object sender, RoutedEventArgs e) { //Проверка было ли произведено исследование if (result == -1) { MessageBox.Show("Вычисление процента студентов не было произведено.", "Ошибка выполнения", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (saveDialog.ShowDialog() != false) { try { //Создание файла содержащего результаты исследований Excel.Application ObjExcel = new Excel.Application(); //Книга Excel.Workbook ObjWorkBook; //Таблица Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; //Заполнение значениями ObjWorkSheet.Name = "Результат исследований"; ObjWorkSheet.Cells[1, 1] = "% студентов, которые учаться только на оценки «4 и 5»"; ObjWorkSheet.Cells[1, 2] = result; ObjWorkSheet.UsedRange.Columns.AutoFit(); //Сохранение ObjWorkBook.SaveAs(saveDialog.FileName); ObjExcel.Quit(); } catch (Exception exc) { MessageBox.Show("Ошибка:\n" + exc.Message, "Ошибка выполнения", MessageBoxButton.OK, MessageBoxImage.Error); } } }
public void SaveRootsToExcel(string path, double[] roots)//сохранение ответов в файл { Excel.Application ObjExcel = new Excel.Application(); Excel.Workbook ObjWorkBook; Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); ObjWorkBook = ObjExcel.Workbooks.Add(path); //Таблица. ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; int count = 0; for (int i = 0; i < dataGridView1.RowCount - 2; i++) { for (int j = 0; j < dataGridView1.ColumnCount - 2; j++) { ObjWorkSheet.Cells[i + 1, j + 1] = roots[count]; count++; } } ObjExcel.Visible = true; ObjExcel.UserControl = true; ObjExcel.AlertBeforeOverwriting = false; ObjWorkBook.SaveAs(path); ObjExcel.Quit(); }
public static void write_excel(string[] str) { try { Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; ObjExcel.Visible = false; ObjExcel.UserControl = true; ObjExcel.DisplayAlerts = false; ObjWorkBook = ObjExcel.Workbooks.Open("C:\\Шаблон.xls"); ObjWorkSheet = ObjWorkBook.Sheets[3]; int iNums = str.Length; switch (iNums) { case 1: { ObjWorkSheet.Cells[4, 4] = str[0]; break; } case 2: { ObjWorkSheet.Cells[4, 4] = str[0]; ObjWorkSheet.Cells[5, 4] = str[1]; break; } case 3: { ObjWorkSheet.Cells[4, 4] = str[0]; ObjWorkSheet.Cells[5, 4] = str[1]; ObjWorkSheet.Cells[6, 4] = str[2]; break; } case 4: { ObjWorkSheet.Cells[4, 4] = str[0]; ObjWorkSheet.Cells[5, 4] = str[1]; ObjWorkSheet.Cells[6, 4] = str[2]; ObjWorkSheet.Cells[7, 4] = str[3]; break; } } ObjWorkBook.SaveAs("C:\\Шаблон_Изменен.xls"); ObjExcel.Quit(); } catch (Exception ex) { Console.Write(ex.Message); } }
public static void write_excel2(string[] str) { try { Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; ObjExcel.Visible = false; ObjExcel.UserControl = true; ObjExcel.DisplayAlerts = false; ObjWorkBook = ObjExcel.Workbooks.Open("C:\\Шаблон_Изменен.xls"); ObjWorkSheet = ObjWorkBook.Sheets[3]; int iNums = str.Length; switch (iNums) { case 5: { ObjWorkSheet.Cells[8, 4] = str[4]; break; } case 6: { ObjWorkSheet.Cells[8, 4] = str[4]; ObjWorkSheet.Cells[9, 4] = str[5]; break; } case 7: { ObjWorkSheet.Cells[8, 4] = str[4]; ObjWorkSheet.Cells[9, 4] = str[5]; ObjWorkSheet.Cells[10, 4] = str[6]; break; } case 8: { ObjWorkSheet.Cells[8, 4] = str[4]; ObjWorkSheet.Cells[9, 4] = str[5]; ObjWorkSheet.Cells[10, 4] = str[6]; ObjWorkSheet.Cells[11, 4] = str[7]; break; } } ObjWorkBook.Save(); ObjExcel.Quit(); } catch (Exception ex) { Console.Write(ex.Message); } }
public void ExcelDiagr() { try { Excel.Application ObjExcel = new Excel.Application(); Excel.Workbook ObjWorkBook; Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; for (int i = 1; i <= dictSum.Count; i++) { ObjWorkSheet.Cells[i, 1] = Convert.ToString(dictSum[i]); ObjWorkSheet.Cells[i, 2] = Convert.ToString(dictCount[i]); } //ObjWorkSheet.Cells[3, 1] = "51"; //ObjExcel.Application.DisplayAlerts = true; ObjExcel.DisplayAlerts = false; ObjWorkBook.SaveAs("book.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); ObjExcel.Quit(); } catch (Exception exc) { throw exc; } Excel.Application excelapp = new Excel.Application(); try { // if (checkBox1.Checked){ ExcelDiagr1(); //}else if(checkBox2.Checked) //{ ExcelDiagr2(); //} // MessageBox.Show("OK"); } catch (Exception exc) { excelapp.Quit(); throw exc; } }
public void ExcelDiagr() { DataForBD.iter = 0; try { Excel.Application ObjExcel = new Excel.Application(); Excel.Workbook ObjWorkBook; Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; for (int i = 1; i <= dictSum.Count; i++) { ObjWorkSheet.Cells[i, 1] = Convert.ToString(dictSum[i]); ObjWorkSheet.Cells[i, 2] = Convert.ToString(dictCount[i]); } //ObjWorkSheet.Cells[3, 1] = "51"; //ObjExcel.Application.DisplayAlerts = true; ObjExcel.DisplayAlerts = false; ObjWorkBook.SaveAs("book.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); ObjExcel.Quit(); } catch (Exception exc) { throw exc; } DataForBD.iter = 1; Excel.Application excelapp = new Excel.Application(); try { DataForBD.iter = 2; ExcelDiagr1(); DataForBD.iter = 4; ExcelDiagr2(); DataForBD.iter = 6; } catch (Exception exc) { excelapp.Quit(); throw exc; } }
private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { textBox1.RightToLeft = RightToLeft.Yes; textBox1.Text = ofd.FileName; string nameTxt = textBox1.Text + ".txt"; Excel.Application ObjExcel = new Excel.Application(); Excel.Workbook ObjWorkBook; Excel.Worksheet ObjWorkSheet; ObjWorkBook = ObjExcel.Workbooks.Add(textBox1.Text); ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; ObjWorkBook.SaveAs(nameTxt, FileFormat.) } }
private void SaveXLS_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; //Книга. ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Таблица. ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; //Значения [y - строка,x - столбец] for (int i = 0; i <= ArrData.rowNumber; i++) { ObjWorkSheet.Cells[i + 1, 1] = ArrData.arrNum[i]; ObjWorkSheet.Cells[i + 1, 2] = ArrData.arrValue[i]; } string fileName = String.Empty; SaveFileDialog saveFileXLS = new SaveFileDialog(); saveFileXLS.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*"; saveFileXLS.FilterIndex = 2; saveFileXLS.RestoreDirectory = true; if (saveFileXLS.ShowDialog() == DialogResult.OK) { fileName = saveFileXLS.FileName; } else { return; } ObjWorkBook.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); ObjWorkBook.Close(false, Type.Missing, Type.Missing); ObjExcel.Quit(); saveFileXLS.Dispose(); }
private void wordToolStripMenuItem_Click(object sender, EventArgs e) { Excel.Application ObjExcel = new Excel.Application(); Excel.Workbook ObjWorkBook; Excel.Worksheet ObjWorkSheet; //Object templatePathObj = "КУН_АТ.xltx"; //может использовать шаблон? ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value); //Книга ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; //Таблица ObjWorkSheet.PageSetup.LeftMargin = 0.64; ObjWorkSheet.PageSetup.TopMargin = 1.91; ObjWorkSheet.PageSetup.RightMargin = 0.64; ObjWorkSheet.PageSetup.BottomMargin = 1.91; // //Задаём ширину столбцов равную 5мм в 2 клетки // int col = 1; while (col < 80) { ObjWorkSheet.Columns[col].ColumnWidth = 0.75; col++; } // //Задаём высоту строк равную 5мм в 2 клетки // int row = 1; while (row < 101) { ObjWorkSheet.Columns[row].RowHeight = 7.5; row++; } // // Выделяем диапазоны ячеек // Excel.Range _excelCells1 = ObjWorkSheet.get_Range("BK2", "BP3").Cells; //NumberOfKUN.Text Excel.Range _excelCells2 = ObjWorkSheet.get_Range("C2", "BJ3").Cells; // Карточка учёта неисправности авиатехники Excel.Range _excelCells3 = ObjWorkSheet.get_Range("C5", "N6").Cells; // Дата Excel.Range _excelCells4 = ObjWorkSheet.get_Range("O5", "Z6").Cells; // Борт ВС Excel.Range _excelCells5 = ObjWorkSheet.get_Range("AA5", "AH6").Cells; // Тип ВС Excel.Range _excelCells6 = ObjWorkSheet.get_Range("AI5", "AP6").Cells; // № двиг. Excel.Range _excelCells7 = ObjWorkSheet.get_Range("AQ5", "BJ6").Cells; // Владелец Excel.Range _excelCells8 = ObjWorkSheet.get_Range("BK5", "BV6").Cells; // BoardOwner.Text Excel.Range _excelCells9 = ObjWorkSheet.get_Range("C7", "N8").Cells; // DateOfKUN.Text Excel.Range _excelCells10 = ObjWorkSheet.get_Range("O7", "Z8").Cells; // NumBoardAircraft1+2+3+4+5 Excel.Range _excelCells11 = ObjWorkSheet.get_Range("AA7", "AH8").Cells; // TapeAirboard.Text Excel.Range _excelCells12 = ObjWorkSheet.get_Range("AI7", "AP8").Cells; // EngineNum1+2+3+4 Excel.Range _excelCells13 = ObjWorkSheet.get_Range("AQ7", "BJ8").Cells; // Аэропорт посадки Excel.Range _excelCells14 = ObjWorkSheet.get_Range("BK7", "BV8").Cells; // Airport.Text Excel.Range _excelCells15 = ObjWorkSheet.get_Range("C12", "BV17").Cells; // Текст Excel.Range _excelCells16 = ObjWorkSheet.get_Range("C10", "Y11").Cells; // Проявление неисправности //Excel.Range _excelCells17 = ObjWorkSheet.get_Range("BK5", "BP6").Cells; //Excel.Range _excelCells18 = ObjWorkSheet.get_Range("BK5", "BP6").Cells; //Excel.Range _excelCells19 = ObjWorkSheet.get_Range("BK5", "BP6").Cells; Excel.Range _excelCells20 = ObjWorkSheet.get_Range("C18", "AV19").Cells; // Этап обслуживания Excel.Range _excelCells21 = ObjWorkSheet.get_Range("C20", "Y21").Cells; // На земле Excel.Range _excelCells22 = ObjWorkSheet.get_Range("Z20", "AV21").Cells; // В полёте Excel.Range _excelCells23 = ObjWorkSheet.get_Range("AW20", "BV21").Cells; // Последствия Excel.Range _excelCells24 = ObjWorkSheet.get_Range("C22", "D23").Cells; // 11 Excel.Range _excelCells25 = ObjWorkSheet.get_Range("C24", "D25").Cells; // 12 Excel.Range _excelCells26 = ObjWorkSheet.get_Range("C26", "D27").Cells; // 13 Excel.Range _excelCells27 = ObjWorkSheet.get_Range("C28", "D29").Cells; // 14 Excel.Range _excelCells28 = ObjWorkSheet.get_Range("C30", "D31").Cells; // 15 Excel.Range _excelCells29 = ObjWorkSheet.get_Range("C32", "D33").Cells; // 16 Excel.Range _excelCells30 = ObjWorkSheet.get_Range("C34", "D35").Cells; // 17 Excel.Range _excelCells31 = ObjWorkSheet.get_Range("C36", "D37").Cells; // 18 Excel.Range _excelCells32 = ObjWorkSheet.get_Range("E22", "Y23").Cells; // 11. Подготовка к вылету Excel.Range _excelCells33 = ObjWorkSheet.get_Range("E24", "Y25").Cells; // 12. Буксировка Excel.Range _excelCells34 = ObjWorkSheet.get_Range("E26", "Y27").Cells; // 13. Запуск двигателей Excel.Range _excelCells35 = ObjWorkSheet.get_Range("E28", "Y29").Cells; // 14. Руление Excel.Range _excelCells36 = ObjWorkSheet.get_Range("E30", "Y31").Cells; // 15. Оперативное ТО Excel.Range _excelCells37 = ObjWorkSheet.get_Range("E32", "Y33").Cells; // 16. Периодическое ТО Excel.Range _excelCells38 = ObjWorkSheet.get_Range("E34", "Y35").Cells; // 17. Прочее ТО Excel.Range _excelCells39 = ObjWorkSheet.get_Range("E36", "Y37").Cells; // 18. Диагностирование // // Производим объединение // _excelCells1.Merge(Type.Missing); _excelCells2.Merge(Type.Missing); _excelCells3.Merge(Type.Missing); _excelCells4.Merge(Type.Missing); _excelCells5.Merge(Type.Missing); _excelCells6.Merge(Type.Missing); _excelCells7.Merge(Type.Missing); _excelCells8.Merge(Type.Missing); _excelCells9.Merge(Type.Missing); _excelCells10.Merge(Type.Missing); _excelCells11.Merge(Type.Missing); _excelCells12.Merge(Type.Missing); _excelCells13.Merge(Type.Missing); _excelCells14.Merge(Type.Missing); _excelCells15.Merge(Type.Missing); _excelCells16.Merge(Type.Missing); //_excelCells17.Merge(Type.Missing); //_excelCells18.Merge(Type.Missing); //_excelCells19.Merge(Type.Missing); _excelCells20.Merge(Type.Missing); _excelCells21.Merge(Type.Missing); _excelCells22.Merge(Type.Missing); _excelCells23.Merge(Type.Missing); _excelCells24.Merge(Type.Missing); _excelCells25.Merge(Type.Missing); _excelCells26.Merge(Type.Missing); _excelCells27.Merge(Type.Missing); _excelCells28.Merge(Type.Missing); _excelCells29.Merge(Type.Missing); _excelCells30.Merge(Type.Missing); _excelCells31.Merge(Type.Missing); _excelCells32.Merge(Type.Missing); _excelCells33.Merge(Type.Missing); _excelCells34.Merge(Type.Missing); _excelCells35.Merge(Type.Missing); _excelCells36.Merge(Type.Missing); _excelCells37.Merge(Type.Missing); _excelCells38.Merge(Type.Missing); _excelCells39.Merge(Type.Missing); // //форматируем оформление // _excelCells1.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells2.HorizontalAlignment = Excel.Constants.xlRight; _excelCells3.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells4.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells5.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells6.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells7.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells8.HorizontalAlignment = Excel.Constants.xlRight; _excelCells9.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells10.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells11.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells12.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells13.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells14.HorizontalAlignment = Excel.Constants.xlRight; _excelCells15.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells16.HorizontalAlignment = Excel.Constants.xlLeft; //_excelCells17.HorizontalAlignment = Excel.Constants.xlCenter; //_excelCells18.HorizontalAlignment = Excel.Constants.xlCenter; //_excelCells19.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells20.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells21.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells22.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells23.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells24.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells25.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells26.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells27.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells28.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells29.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells30.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells31.HorizontalAlignment = Excel.Constants.xlCenter; _excelCells32.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells33.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells34.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells35.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells36.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells37.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells38.HorizontalAlignment = Excel.Constants.xlLeft; _excelCells39.HorizontalAlignment = Excel.Constants.xlLeft; // //Заполняем ячейки данными // ObjWorkSheet.Cells[2, 3] = "Карточка учёта неисправности авиатехники №"; ObjWorkSheet.Cells[2, 63] = NumberOfKUN.Text; ObjWorkSheet.Cells[5, 3] = "Дата"; ObjWorkSheet.Cells[5, 15] = "Борт ВС"; ObjWorkSheet.Cells[5, 27] = "Тип ВС"; ObjWorkSheet.Cells[5, 35] = "№ двиг."; ObjWorkSheet.Cells[5, 43] = "Предприятие - владелец ВС"; ObjWorkSheet.Cells[5, 63] = BoardOwner.Text; ObjWorkSheet.Cells[7, 3] = DateOfKUN.Text; ObjWorkSheet.Cells[7, 15] = NumBoardAircraft1.Text + NumBoardAircraft2.Text + NumBoardAircraft3.Text + NumBoardAircraft4.Text + NumBoardAircraft5.Text; ObjWorkSheet.Cells[7, 27] = TapeAirboard.Text; ObjWorkSheet.Cells[7, 35] = EngineNum1.Text + EngineNum2.Text + EngineNum3.Text + EngineNum4.Text; ObjWorkSheet.Cells[7, 43] = "Аэропорт посадки"; ObjWorkSheet.Cells[7, 63] = Airport.Text; ObjWorkSheet.Cells[10, 3] = "Проявление неисправности ВС"; ObjWorkSheet.Cells[12, 3] = ReportDetails.Text; ObjWorkSheet.Cells[18, 3] = "Этап обслуживания"; ObjWorkSheet.Cells[20, 3] = "На земле"; ObjWorkSheet.Cells[20, 26] = "В полёте"; ObjWorkSheet.Cells[20, 49] = "Последствия"; ObjWorkSheet.Cells[22, 5] = "11. Подготовка к вылету"; ObjWorkSheet.Cells[24, 5] = "12. Буксировка"; ObjWorkSheet.Cells[26, 5] = "13. Запуск двигателей"; ObjWorkSheet.Cells[28, 5] = "14. Руление"; ObjWorkSheet.Cells[30, 5] = "15. Оперативное ТО"; ObjWorkSheet.Cells[32, 5] = "16. Периодическое ТО"; ObjWorkSheet.Cells[34, 5] = "17. Прочее ТО"; ObjWorkSheet.Cells[36, 5] = "18. Диагностирование"; // //Защищаем структуру книги // string s = "$u5erPa$$word"; ObjWorkBook.Protect(s, true, false); // //защищаем данные от редактирования // foreach (Excel.Worksheet sheet in ObjWorkBook.Worksheets) { sheet.Protect(s, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true); } // //Показываем окно экселя и передаём управление пользователю // ObjExcel.Visible = true; ObjExcel.UserControl = true; }
private void btn_generate_Click(object sender, EventArgs e) { btn_generate.Enabled = false; progressbar.Value = 0; List <string> barcodes = new List <string>(); // cписок введенных баркодов List <string> art = new List <string>(); // список артиклов на основе баркодов List <Image> barimages = new List <Image>(); // список сгенерированных изображений баркодов int i = 0; string temp; int height = Convert.ToInt32(txt_height.Text); int width = Convert.ToInt32(txt_width.Text); String folder = txt_folder.Text; int range = txt_codes.Lines.Length; //колличество введеных баркодов if (check_values()) { for (i = 0; i < range; i++) { temp = txt_codes.Lines[i].Trim(); art.Add(temp.Substring(8, 4)); // формирование списка артикулов barcodes.Add(temp); //параметры изображения баркода BarcodeLib.Barcode barcode = new BarcodeLib.Barcode() { IncludeLabel = true, Alignment = AlignmentPositions.CENTER, Width = width, Height = height, RotateFlipType = RotateFlipType.RotateNoneFlipNone, BackColor = Color.White, ForeColor = Color.Black, }; //генерация изображения баркода и запись в список Image img = barcode.Encode(TYPE.EAN13, temp); barimages.Add(img); //сохранение изображений баркодов img.Save(folder + "/" + temp + ".png", System.Drawing.Imaging.ImageFormat.Png); progressbar.Value += 50 / range; } //создание и формирование excel файлов на основе //списков баркодов и изображений for (i = 0; i < range; i++) { Microsoft.Office.Interop.Excel.Application ExcelAppR = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; ObjWorkBook = ExcelAppR.Workbooks.Open(Application.StartupPath + "/Res/ex.xls"); Microsoft.Office.Interop.Excel.Worksheet m_workSheet = null; m_workSheet = ExcelAppR.ActiveSheet; int j = 0; for (j = 2; j < 8; j++) { //добавление подписей Артикул под каждый бар код в файле excel m_workSheet.Cells[j * 2 - 1, 1] = "Артикул: " + art[i]; m_workSheet.Cells[j * 2 - 1, 2] = "Артикул: " + art[i]; m_workSheet.Cells[j * 2 - 1, 3] = "Артикул: " + art[i]; //добавление изображений баркода в файл excel int top = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 1].Top); int left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 1].Left); m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1); top = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 2].Top); left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 2].Left); m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1); top = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 3].Top); left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 3].Left); m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1); } ObjWorkBook.SaveAs(folder + "/art-" + art[i] + ".xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, null, null, null, null, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, null, null, null, null, null); ObjWorkBook.Close(false, null, null); progressbar.Value += 50 / range; } progressbar.Value = 100; } btn_generate.Enabled = true; }
/// <summary> /// считываем из экселя в грид /// </summary> /// <param name="dataGridView1">куда считываем</param> public void ReadFromExcell(System.Windows.Forms.DataGridView dataGridView1) { Microsoft.Office.Interop.Excel.Application ObjExcel; Microsoft.Office.Interop.Excel.Workbook ObjWorkBook; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; //Диалоговое окно выбора файла с фильтром OpenFileDialog openDialog = new OpenFileDialog(); openDialog.Filter = "Файл Excel|*.XLSX;*.XLS"; openDialog.ShowDialog(); try { //Приложение самого Excel ObjExcel = new Microsoft.Office.Interop.Excel.Application(); //Книга. ObjWorkBook = ObjExcel.Workbooks.Open(openDialog.FileName); //Таблица. ObjWorkSheet = ObjExcel.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet; //Ячейка //Microsoft.Office.Interop.Excel.Range rg = null; bool flag = true; //флаг на добавление строчек row в стринггрид только один раз много штучек) //Int32 row = 1; dataGridView1.Rows.Clear(); List <double> arr = new List <double>(); var lastCell = ObjWorkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell); //1 ячейку string[,] list = new string[lastCell.Column, lastCell.Row]; // все данные. // массив значений с листа равен по размеру листу countObj = lastCell.Column; countAttrib = lastCell.Row; for (int i = 0; i < lastCell.Column; i++) // цикл по всем колонкам { dataGridView1.Columns.Add(i.ToString(), ObjWorkSheet.Cells[1, i + 1].Text.ToString()); dataGridView1.Columns[i].Name = ObjWorkSheet.Cells[1, i + 1].Text.ToString(); //&&&&&&&?????? if (flag) //создаю строки. { dataGridView1.Rows.Add(lastCell.Row - 1); flag = false; } for (int j = 0; j < lastCell.Row; j++) // по всем строкам /// 1 { list[i, j] = ObjWorkSheet.Cells[j + 2, i + 1].Text.ToString(); //считываем текст в строку dataGridView1.Rows[j].Cells[i].Value = list[i, j]; /// -1 } } for (int j = 0; j < countAttrib - 1; j++) { ArrayList attribs = new ArrayList(); for (int i = 0; i < countObj; i++) { attribs.Add(double.Parse(list[i, j])); } allObjects.Add(new MyObject(attribs)); // здесь наши объекты. } ObjWorkBook.Close(false, Type.Missing, Type.Missing); //закрыть не сохраняя //Закрытие книгу Excel. //Закрытие приложения Excel. ObjExcel.Quit(); //Обнуляем созданые объекты ObjWorkBook = null; ObjWorkSheet = null; ObjExcel = null; //Вызываем сборщик мусора для их уничтожения и освобождения памяти GC.Collect(); MessageBox.Show("Файл успешно считан!", "Считывания excel файла"); } catch (Exception ex) { MessageBox.Show("Ошибка: " + ex.Message, "Ошибка при считывании excel файла"); } }