Как мне получить мой 40 item datagrid в 30 строчный шаблон excel и баланс на странице 2
У меня есть шаблон excel со значками и заголовками. Данные из datagrid могут варьироваться от 30 до 60 элементов. Я хочу, чтобы данные начинались с строки 19 до строки 49. если в datagrid есть еще элементы, он должен создать и продолжить страницу 2 (шаблон).На данный момент он работает нормально, но если в datagrid есть более 30 элементов, то он переписывает строки с 31 по 40, что является предложениями.Пожалуйста, помогите,вот мой код.
<pre>private void button1_Click_1(object sender, EventArgs e) { Excel.Application xlApp ; Excel.Workbook xlWorkBook ; Excel.Worksheet xlWorkSheet ; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(@"C:\CedarData\masterquote.xlsx", misValue, false, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); //int i = 1; //int j = 1; string datestr = DateTime.Now.ToShortDateString(); //string colName = dataGridView1.Columns[j].HeaderText; string filename = @"C:\CedarData\CedarQuotes\Quote_" + txtName.Text.Replace(" ", "") + "_" + datestr + ".xls"; string quote = txtName.Text.Replace(" ", "") + "_" + datestr; string salesman = txtEmail.Text.ToUpper(); string customer = txtName.Text.ToUpper(); // Storing Each row and column value to excel sheet for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { //string value3 = dataGridView1.Rows[i].Cells[j].Value.ToString(); if (j == 2 || j == 5) { xlWorkSheet.Cells[i + 19, j + 1] = "'" + dataGridView1.Rows[i].Cells[j].Value.ToString(); } else { xlWorkSheet.Cells[i + 19, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } xlWorkSheet.get_Range("C10", "E10").Value2 = salesman; xlWorkSheet.get_Range("C12", "E12").Value2 = customer; xlWorkSheet.get_Range("C12", "E12").Font.Bold = true; xlWorkSheet.get_Range("C12", "E12").Font.Bold = true; xlWorkSheet.get_Range("H12", "I12").Value2 = DateTime.Now; xlWorkSheet.get_Range("H10", "I10").Value2 = quote; } } xlWorkBook.SaveAs(filename, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); MessageBox.Show("Excel file created , you can find the file c:\\quote.xls"); }
Что я уже пробовал:
скопируйте xlWorksheet в xlWorksheet2 используйте get_item(2)