我有一個採購訂單的Excel '07模板文件。在模板上,只有3行值的項目空間,然後模板顯示Total。Excel插入行(不添加)
所以,基本上,在模板有: 行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列。
爲什麼不更改模板?每個PO有3個項目似乎太小?你有什麼嘗試? – Derek
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
@Derek:問題是,我不知道單個PO中可能有多少項目...因此,無論如何更改模板,我都需要插入行。除非你要求放棄第22行的「總計」,並在完成添加項目後自己以編程方式添加它。 – user1096207