【发布时间】:2012-10-01 18:33:44
【问题描述】:
我一直在用 C# 编写一个 Windows 应用程序。我的要求是打印一个预定义的 Excel 模板,其中包含给定订单号的数据库值。意味着,我必须从数据库(SQL Server)中检索数据并用数据库值替换预定义的单元格值(文本)(在 excel 模板中)。例如-
在 Excel 单元格中,“SENDER_NAME”将替换为“FEDEX”,“OrderNo”将替换为“1212”等等。我正在使用以下代码来做到这一点。
object missingValue = Type.Missing;
xlWorkBook = xlApp.Workbooks.Open(path, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlWorkSheet.Cells.Replace("SENDER_NAME", "FEDEX", missingValue, missingValue, missingValue, missingValue, missingValue, missingValue);
我的问题是 - 当 excel 中给定单元格文本的数据库中不存在某些值时,它会被空白值替换,因此在打印时会留下空白。 我必须减少那些空白空间??
我只是想要,那个空白区域不应该在打印中可见。问题是空单元格打印为空白空间,因此例如 AddressLine2 不在 Db 中。那么它将如下所示。
AddressLine1
EMPTYCELL
AddressLin3
我想要这样的输出
AddressLine1
AddressLine3
有什么解决办法吗?
【问题讨论】:
-
你想要什么而不是空格?是否要缩小打印区域、保留默认值、输入新的默认值或提示用户输入值?这个问题的答案将决定在何处以及如何实施该解决方案。
-
我只是想要,打印中不应该看到空白区域。问题是空单元格打印为空白空间,因此例如 AddressLine2 不在 Db 中。那么它将如下所示。 AddressLine1
AddressLin3 我想要像 AddressLine1 AddressLine3 这样的输出