使用SQL Server 2008和C# -
所以我试图为用户实现该功能以导入.CSV文件,然后我调用存储过程将该文件的内容写入临时表,然后将其合并到实际表中。
我的问题/问题是我正在尝试确定客户需要拥有的.xls文件的布局,并为他们提供模板.xls文件供他们使用。数据是基于区域的运费率矩阵。因此,列和行标题是重复的:
- A B C
A 1 2 3
B 2 1 4
C 3 4 1
但我不确定如何通过存储过程解决这个问题。因此,我的其他选项是将.xls模板设置为:
From To Rate
A A 1
A B 2
A C 3
B A 2
B B 1
.....
你得到了照片。这样做第二种方式是相当直接的,我有一个存储过程,可以让我遍历数据。
但是,我对第一个例子的问题很感兴趣,并想知道如何做到这一点。有什么建议吗?
答案 0 :(得分:1)
有几种方法可以实现这一目标。
一种简单的方法是简单地迭代行和列(2个循环)并将这些值传递给proc进行存储。
像(伪代码):
foreach(DataRow row in myDataTable.Rows) {
foreach(DataColumn col in row.Columns) {
String value = row[col].Value
StoreValue(row.Name, col.Name, value); // <-- this would call your proc.
}
}
如果您有SQL 2008,那么您可以使用表值参数并将整个表传递给存储过程。从那里你可以做你的插页。