【发布时间】:2013-01-06 08:50:14
【问题描述】:
我有一个服务器,它在 http 响应中返回大量逗号分隔的数据。我需要将此数据导入excel。
我通过将内容传递给临时文件然后将临时文件作为 csv 读取来完成这项工作,但这个过程似乎效率低下。查询表可以直接从 http 响应中读取,但它将每行数据放入一个单元格中,而不是每个逗号分隔为一个单元格。
是否可以将来自 http 响应的逗号分隔数据从 C# excel 加载项直接读取到 excel 中?
谢谢!
public static void URLtoCSV(string URL, Excel.Worksheet destinationSheet, Excel.Range destinationRange, int[] columnDataTypes, bool autoFitColumns)
{
destinationSheet.QueryTables.Add(
"URL;" + URL,
destinationRange, Type.Missing);
destinationSheet.QueryTables[1].Name = URL;
destinationSheet.QueryTables[1].FieldNames = true;
destinationSheet.QueryTables[1].RowNumbers = false;
destinationSheet.QueryTables[1].FillAdjacentFormulas = false;
destinationSheet.QueryTables[1].PreserveFormatting = true;
destinationSheet.QueryTables[1].RefreshOnFileOpen = false;
destinationSheet.QueryTables[1].RefreshStyle = XlCellInsertionMode.xlInsertDeleteCells;
destinationSheet.QueryTables[1].SavePassword = false;
destinationSheet.QueryTables[1].SaveData = true;
destinationSheet.QueryTables[1].AdjustColumnWidth = true;
destinationSheet.QueryTables[1].RefreshPeriod = 0;
destinationSheet.QueryTables[1].Refresh(false);
if (autoFitColumns == true)
destinationSheet.QueryTables[1].Destination.EntireColumn.AutoFit();
}
【问题讨论】:
-
我自己解决了同样的问题:stackoverflow.com/questions/14252762/…祝你好运!