我有一个针对采购订单的Excel'07模板文件。在该模板中,只有3行可以用于项目,然后模板显示总计。
因此,在模板中它有: 第19行 - 项目 第20行 - 项目 第21行 - 项目 第22行 - 项目的总数
显然,大多数采购将有超过3个项目。那么我该如何在打印出3个项目后在第21行和第22行之间插入一行呢?
编辑:这是我拥有的内容:
因此,在模板中它有: 第19行 - 项目 第20行 - 项目 第21行 - 项目 第22行 - 项目的总数
显然,大多数采购将有超过3个项目。那么我该如何在打印出3个项目后在第21行和第22行之间插入一行呢?
编辑:这是我拥有的内容:
xlApp.Workbooks.Open(template, misValue, misValue, misValue,
misValue, misValue, misValue, misValue, misValue, misValue,
misValue, misValue, misValue, misValue, misValue);
int row = 19;
if (poDetailBO1.MoveFirst())
{
do
{
itemsBO3.FillByPK(poDetailBO1.Style);
if (row < 22)
{
xlApp.Cells[row, 1] = poDetailBO1.LineNo;
xlApp.Cells[row, 2] = itemsBO3.Factory;
xlApp.Cells[row, 3] = poDetailBO1.Style;
xlApp.Cells[row, 4] = itemsBO3.UPC_Code;
xlApp.Cells[row, 5] = itemsBO3.Item_Description;
xlApp.Cells[row, 6] = "TARRIFF"; //To be replaced later
xlApp.Cells[row, 7] = itemsBO3.Plate_Color;
xlApp.Cells[row, 8] = itemsBO3.Color;
xlApp.Cells[row, 9] = poDetailBO1.PrePack;
xlApp.Cells[row, 10] = itemsBO3.Cost;
xlApp.Cells[row, 11] = poDetailBO1.Qty;
xlApp.Cells[row, 12] = poDetailBO1.Qty * itemsBO3.Cost;
row++;
}
else if (row >= 22)
{
Excel.Range r = xlWorkSheet.Range[xlWorkSheet.Cells[row, misValue], xlWorkSheet.Cells[row, misValue]];
r.Insert(Excel.XlInsertShiftDirection.xlShiftDown, misValue);
r.Value2 = "GOBBLYDEEGOOK";
row++;
}
} while (poDetailBO1.MoveNext());
然而,我的插入语句被插入到了错误的工作表中,哈哈。而且它被插入到了我甚至无法想象的位置——第2行,第19列。