首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将byte []写入Excel文件?

如何将byte []写入Excel文件?
EN

Stack Overflow用户
提问于 2011-07-26 16:16:04
回答 2查看 10.5K关注 0票数 2

我对c#非常陌生,尽管我掌握了所有的基础知识。实际上,我有一个byte []表示加速度计(向上/向下)的y轴,我称之为Y[]。我需要一行代码将其导出到excel文件中(我使用的是Office professional 2003)。我希望将值Y写到单元格A1,将Y1写到A2,依此类推(所以只有一列数据。这样做的目的是能够使用excel更容易地操作数据,并能够绘制它。我知道有像zed graph这样的c#绘图应用,但我更喜欢excel。

我到处找了看,也没有找到任何能帮助我的东西。我需要做的就是创建一个excel (.xls)文件,在上面写字,保存并关闭它。但是怎么做呢?你使用FileStream吗?不然呢?如果你理解我的问题,请给我我需要的一两行代码。我快完成这个小项目了!

非常感谢各位。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-27 15:39:49

所以,我最终使用的代码如下所示。我有一个字节数组,我不会详细说明它是如何获得的,但它的名称是AllY []。然后,我将其转换为一个名为MyYData []的字符串数组,该数组包含相同的值,但为字符串形式。

代码语言:javascript
运行
复制
for (int F = 0; F < (21*SECT); F++)
{
     Console.WriteLine(AllY[F]);   // Shows the byte array mentioned.
     MyYData[F] = AllY[F].ToString();  // The data is sotred as succesions of strings.
}
Console.ReadKey();

Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
string myPath = @"C:\Documents and Settings\John\My Documents\DATA.xls";   // The main downside to this code, is that the document must exist prior to code execution (but i'm sure you guys can figure out a way for the code to create de document).
excelApp.Workbooks.Open(myPath);                                                            

for (int r = 1; r < ((21 * SECT)+1); r++)  // r must be set to 1, because cell 0x0 doesn't exist!
{
     int rowIndex = r;
     int colIndex = 1;
     excelApp.Cells[rowIndex, colIndex] = MyYData[r-1];
     excelApp.Visible = true;
}
Console.ReadKey();

谢谢大家。我想说的是,这个网站比“官方”的微软msdn垃圾网站要好100倍。

此外,我忘了添加,要使用excel命令,必须从项目菜单>添加引用> COM > Microsoft Excel 11.0对象添加引用(数量可能会有所不同)。然后在文档的标题处添加:

使用Microsoft.Office.Core;使用Excel = Microsoft.Office.Interop.Excel;

为每个人干杯,并保持它的编码!

票数 0
EN

Stack Overflow用户

发布于 2011-07-26 16:20:57

请看这里:http://social.msdn.microsoft.com/Forums/en-ZA/csharpgeneral/thread/ef11a193-54f3-407b-9374-9f5770fd9fd7

在此之后,通过将字节转换为字符串将字节写入Excel。遍历您的Y[]数组可以在循环中完成。

来自上面链接的代码片段

代码语言:javascript
运行
复制
Excel.Application excelApp = new Excel.Application();
string myPath = @"C:\Excel.xls";
excelApp.Workbooks.Open(myPath);
int rowIndex = 1; int colIndex = 1;

excelApp.Cells[rowIndex, colIndex] = "First";
excelApp.Visible = true;

这会解除你的障碍吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6827125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档