上記のコードでは、「excelFilename」を渡す必要がありますか?
Azureでは、ExcelファイルをAzure Blob Storageに保存することをお勧めします。あなたのコードに基づいて、あなたはメモリストリームでホストされた新しいエクセルを作成することができます。このエクセルファイルにデータを書き込んだ後、Blobストレージにメモリストリームをアップロードできます。下記のコードは参照用です。
public static bool CreateExcelDocument(DataSet ds, string fileName)
{
try
{
MemoryStream ms = new MemoryStream();
using (SpreadsheetDocument document = SpreadsheetDocument.Create(ms, SpreadsheetDocumentType.Workbook))
{
WriteExcelFile(ds, document);
}
//You need to create a storage account and put your azure storage connection string in following place
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("put your azure storage connection string here");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("excelfilecontainer");
container.CreateIfNotExists();
CloudBlockBlob blockBlob = container.GetBlockBlobReference(fileName);
ms.Position = 0;
blockBlob.UploadFromStream(ms);
return true;
}
catch (Exception ex)
{
return false;
}
}
upperメソッドを使用するには、ファイル名を2番目のパラメータに配置するだけです。
CreateExcelDocument(ds, "abc.xlsx");
その後、abc.xlsxという名前のファイルがBlobストレージのexcelfilecontainerに作成されます。 Azure Storage ExplorerまたはAzure Storage Client Libraryから表示またはダウンロードできます。
やExcelシートまたはデータセットが複数ある場合。次に、新しいシートを追加する方法は?
また、BLOBデータをメモリストリームに読み込むこともできます。次に、このストリームに基づいてSpreadsheetDocumentを開くことができます。新しいシートを追加した後。このストリームをBLOBストレージに保存する必要があります。ここにサンプルコードがあります。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("storage connection string");
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference("excelfilecontainer");
// Retrieve reference to a blob named "myblob.txt"
CloudBlockBlob blockBlob = container.GetBlockBlobReference("abc.xlsx");
using (var memoryStream = new MemoryStream())
{
blockBlob.DownloadToStream(memoryStream);
memoryStream.Position = 0;
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(memoryStream, false))
{
}
}
ありがとうございました。また、Excelシートまたはデータセットに複数のシートがある場合。次に、新しいシートを追加する方法は? – Abhi
あなたのコメントに基づいて返信を変更しました。 SpreadsheetDocumentの使い方の助けが必要な場合は、[openxml-sdk]タグを付けて新しい質問を投稿することをお勧めします。あなたはもっと専門的な助けを得るでしょう。問題が解決した場合は、回答として役に立つ返信をマークすることをお勧めします。マークされたスレッドは簡単に検索されます。それは、同様の問題に遭遇した他のコミュニティメンバーを助けるでしょう。 – Amor