Экспорт данных в Excel
Есть таблица с объединенными ячейками, которую необходимо последовательно заполнить.
Заполнение двух полей реализовал так:
Код:
//поле1
excelcells = excelworksheet.get_Range("AK1", "AM1").Cells;
for (int i = 0; i < Convert.ToInt16(t31.Tag); i++) //ограничение по максимальной длине поля в форме
{
if (i==t31.Text.Length) //на случай если поле заполнено не до конца
{break;};
s = t31.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3); //прыгаем на следующую объединенную ячейку
}
//поле1
//поле2
excelcells = excelworksheet.get_Range("AK4", "AM4").Cells;
for (int i = 0; i < Convert.ToInt16(t32.Tag); i++)
{
if (i == t32.Text.Length)
{break;};
s = t32.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3);
}
//поле2
excelcells = excelworksheet.get_Range("AK1", "AM1").Cells;
for (int i = 0; i < Convert.ToInt16(t31.Tag); i++) //ограничение по максимальной длине поля в форме
{
if (i==t31.Text.Length) //на случай если поле заполнено не до конца
{break;};
s = t31.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3); //прыгаем на следующую объединенную ячейку
}
//поле1
//поле2
excelcells = excelworksheet.get_Range("AK4", "AM4").Cells;
for (int i = 0; i < Convert.ToInt16(t32.Tag); i++)
{
if (i == t32.Text.Length)
{break;};
s = t32.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3);
}
//поле2
Не пойму в чем засада, ведь два куска фактически одинакового кода! А работает только один :(
Казалось бы, все логично написал. =\
- бампуэ от Haki, 13 апреля 2012 года