gpt4 book ai didi

c# - 读取 excel 文件而无需将整个文件保存在服务器中

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:14 24 4
gpt4 key购买 nike

我想获取用户 excel 文件的名称和列数,但我不能将整个文件发送到服务器,只能发送它的一些前字节(足以读取第一行)。我怎么能在 C# 中做到这一点?有没有办法不发送整个 excel 文件并读取第一行?据我所知,我们需要文件路径来读取 excel 文件,但我只想使用文件的一小部分,如流:在下面的代码中,我使用“ExcelDataReader”来读取文件:

 public List<string> Getheader()
{
List<string> headers = new List<string>();
byte[] hdrToRead = System.Text.Encoding.UTF8.GetBytes(remainedXlsStr);
MemoryStream stream = new MemoryStream(hdrToRead);
IExcelDataReader excelReader = null;

switch (currentFileType)
{
case (XlsType.xlsx):
{
excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
break;
}
case (XlsType.xls):
{
excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
break;
}
case (XlsType.notSupported):
{
break;
}
}

if (excelContent.HasHeader)
excelReader.IsFirstRowAsColumnNames = true;

if (excelReader.Read())
{ // first row
for (int i = 0; i < excelReader.FieldCount; i++)
{
// fieldType = excelReader.GetValue(i).GetType();
headers.Add(excelReader.GetValue(i).ToString());
}
}
return headers;
}

...谢谢

最佳答案

我不知道有什么方法可以读取部分压缩文件 (xlsx),COM 和 ODBC 作为访问 xls 文件的方法都需要拥有整个文件。如果你真的想给自己带来溃疡,你可能会追踪 xls 文件规范并弄清楚如何解析文件的初始字节,但你正在尝试做的用例非常有限,所以我怀疑你会找到任何可以为你做的事情,甚至可以让你在前进的道路上有很大的进步......

关于c# - 读取 excel 文件而无需将整个文件保存在服务器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com