流文件名或将流转换为DataTable

发布于 2024-11-03 08:43:44 字数 103 浏览 1 评论 0原文

我正在从接口获取 System.IO.Stream 对象。

我想获取连接流的文件名的路径。由于流将发送到 Excel 文件或者我可以读取流并将其转换为 dataTable 吗?

I am getting System.IO.Stream object from an interface.

I want to get the path of file name from which stream is connect . As the stream will be to an excel file Or can I just read the stream and convert it into dataTable ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

缱倦旧时光 2024-11-10 08:43:44

您无法获取所有流的文件名 - 它必须是 FileStream :

    if (strm is FileStream)
    {
       FileStream fs = (FileStream)strm;
       string name = fs.Name;
    }

并且不,您不能将任何流转换为 DataTable。这取决于流中的内容。

You can not get the filename for all streams - it has to be a FileStream :

    if (strm is FileStream)
    {
       FileStream fs = (FileStream)strm;
       string name = fs.Name;
    }

And No, you cannot convert just any stream to a DataTable. It depends on what is inside the stream.

南风起 2024-11-10 08:43:44

如果这是一个内存流并且不涉及文件呢?

Stream 没有源信息,因此您无法获取此数据(即文件名)。

至于将 Stream 转换为 DataTable - 您可以使用 ReadXml 方法将 XML 加载到 DataTable 并使用构造函数重载需要一个 StreamingContext,但这些不会简单地需要一个 Excel 文件。

And if this is a memory stream and there is no file involved?

A Stream doesn't have source information, so you can't get this data (i.e. filename).

As for converting a Stream to a DataTable - you can load XML to a DataTable using the ReadXml method and using the constructor overload that takes a StreamingContext, but these wouldn't simply take an excel file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文