C# 我获得二进制文件流怎么转化为EXCEL对象?之前是通过路径去拿一个EXCEL文件现在只有一个文件流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 我获得二进制文件流怎么转化为EXCEL对象?之前是通过路径去拿一个EXCEL文件现在只有一个文件流相关的知识,希望对你有一定的参考价值。

Application app = new Application();
Workbooks wbs = app.Workbooks;
_Workbook _wbk = wbs.Add(@"路径");
Sheets shs = _wbk.Sheets;
_Worksheet _wsh = (_Worksheet)shs.get_Item(1);

publicDataSet ImportExcel(string strFileName) //strFileName指定的路径+文件名.xls

if (strFileName != "")

string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + ";Extended Properties=Excel 8.0";
string sql = "select * from [Sheet1$]";
OleDbDataAdapter da = newOleDbDataAdapter(sql, conn);
DataSet ds = newDataSet();
try

da.Fill(ds, "datatable");

catch



return ds;

else

return null;



这个方法我经常用,转成dataset和datatable没什么太大区别吧,反正ds.Tables[0]就是dataTable了追问

我这个方法是知道一个Excel文件的路径然后挨个单元格读取我需要的数据,现在问题是,我没有这样一个路径了,给我的只有一个Excel文件的二进制文件流,就是不知道怎么转了,公司不允许用外部组件,想问问看有没有什么其他的方法

参考技术A 文件流可以存储为文件。

(C#)把一个byte数组转换成一个二进制流!

DPFP.Template Template;
byte[] fingerPrintBytes =null;
Templates.Serialize(ref fingerPrintBytes);

我上面的fingerPrintBytes已经获取了数组数据,接着我上面的东西,怎么把fingerPrintBytes转成一个二进制流?
以及转换回来成DPFP.Template的方法!
或者还有其他更好的方法。。。? 提供满意答案者加分!
public class Template : Data

public Template();
public Template(Stream DataStream);


---------------------------------------------------------

public abstract class Data

protected byte[] _Data;

public Data();
public Data(Stream DataStream);

public byte[] Bytes get;
public int Size get;

public void DeSerialize(byte[] ArrayOfBytes);
public void DeSerialize(Stream DataStream);
public byte[] Serialize(ref byte[] ArrayOfBytes);
public Stream Serialize(Stream DataStream);

首先 byte[] 就是二进制流的。
你的意思是不是转换成二进制字符串?

将fingerPrintBytes 代入 bytesTest

strResult就是二进制字符串

//byte[]转为二进制字符串表示
byte[] bytesTest =new byte[]16,18,33;

string strResult=string.Empty;
string strTemp;
for(int i=0;i<bytesTest.Length;i++)

strTemp=System.Convert.ToString(bytesTest[i], 2);
strTemp =strTemp.Insert(0,new string('0',8-strTemp.Length));

strResult+=strTemp;
参考技术A 转换成流
MemoryStream stream = new MemoryStream(fingerPrintBytes);

你的DPFP.Template是什么对象

以上是关于C# 我获得二进制文件流怎么转化为EXCEL对象?之前是通过路径去拿一个EXCEL文件现在只有一个文件流的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么实现image的二进制流

C#中Serializable序列化实例详解

c#一个程序把xml文件转化成json对象,怎么从这个程序中获取json对象的值

php 怎么把字符串转化为二进制流

video 标签在ios上怎么加载二进制流文件

HSSFWorkbook-SXSSFWorkbook导出excel文件获取大小记录