http 応答で大量のコンマ区切りデータを返すサーバーがあります。このデータをExcelにインポートする必要があります。
コンテンツを一時ファイルに渡し、一時ファイルをcsvとして読み取ることでこれを機能させていますが、このプロセスは非効率的です。クエリ テーブルは http 応答から直接読み取ることができますが、カンマごとに 1 つのセルに分割するのではなく、データの各行を 1 つのセルに配置します。
C# の Excel アドインから、http 応答からカンマ区切りのデータを直接 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();
}