如何使用 Object c# .NET Core 在 blob 存储 Azure 上创建 csv 文件?
Posted
技术标签:
【中文标题】如何使用 Object c# .NET Core 在 blob 存储 Azure 上创建 csv 文件?【英文标题】:How can I create a csv file on blob storage azure with Object c# .NET Core? 【发布时间】:2021-11-07 03:18:11 【问题描述】:我正在尝试从对象创建 CSV 文件并将其上传到 blob 存储。我还希望该列与对象中的属性具有相同的名称。 (.NET Core 5.0/C#)
【问题讨论】:
【参考方案1】:请使用以下代码:
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace TestKeyVault.Services
public class Sample
public string FirstName get; set;
public int Id get; set;
public string LastName get; set;
public class Demo
public async Task startAsync()
var Friends = new List<Sample>
new Sample FirstName="Naman",LastName="Sinha",Id = 1,
new Sample FirstName="Naman",LastName="Sinha",Id = 2,
new Sample FirstName = "Naman", LastName = "Sinha", Id = 3
;
string properties = string.Join(",", Friends[0].GetType().GetProperties().Select(i => i.Name));
var info = from member in Friends
let record = string.Join(",", member.GetType().GetProperties().Select(j => j.GetValue(member)))
select record;
var csv = new List<string>
properties
;
csv.AddRange(info);
string newPath = Directory.GetCurrentDirectory() + "/Data";
// Determine whether the directory exists.
if (Directory.Exists(newPath))
Directory.Delete(newPath, true);
Directory.CreateDirectory(newPath);
File.WriteAllLines(newPath + "/FileToBeUploaded.csv", csv);
try
CloudStorageAccount account = CloudStorageAccount.Parse("YOUR_STORAGE_ACCOUNT_CONNECTION_STRING");
CloudBlobClient client = account.CreateCloudBlobClient();
CloudBlobContainer container = client.GetContainerReference("YOUR_CONTAINER_NAME");
await container.CreateIfNotExistsAsync();
CloudBlockBlob blob = container.GetBlockBlobReference("FileToBeUploaded.csv");
await blob.UploadFromFileAsync(newPath);
Console.WriteLine("File Uploaded!");
catch (Exception ex)
Console.WriteLine("File could not be downloaded due to: "+ex.Message);
代码从示例对象创建一个 CSV 文件并从中生成一个 .csv 文件,然后将其作为 blob 上传到指定存储帐户的容器中。 您只需要更改类和命名空间,并指定 Azure 存储帐户的连接字符串和容器名称。
【讨论】:
感谢您的回答。你说的工作,但不是我想要的方式,我想让每个值在不同的列中。示例:在 A 列中,只有 FirstName 及其值如下。 请不要回答这样不费力的问题。 这对您来说可能很费力,但对于行业初学者和使用该平台的其他语言新手来说可能不是。以上是关于如何使用 Object c# .NET Core 在 blob 存储 Azure 上创建 csv 文件?的主要内容,如果未能解决你的问题,请参考以下文章
从 .NET Core Web API 调用 SalesForce API 并将响应反序列化为 c# 对象?
如何使用 ASP.NET Core 同时制作 Razor Page 和 C# 代码框架?
如何使用 C# 和 ASP.Net Core 2.2 连接和收听外部 websocket url
如何在 Asp.NET Core WEB API 中使用 .Net (C#) 在 Payload 中创建具有自定义 JSON 声明的 JWT 令牌