我对c#非常陌生,尽管我掌握了所有的基础知识。实际上,我有一个byte []表示加速度计(向上/向下)的y轴,我称之为Y[]。我需要一行代码将其导出到excel文件中(我使用的是Office professional 2003)。我希望将值Y写到单元格A1,将Y1写到A2,依此类推(所以只有一列数据。这样做的目的是能够使用excel更容易地操作数据,并能够绘制它。我知道有像zed graph这样的c#绘图应用,但我更喜欢excel。
我到处找了看,也没有找到任何能帮助我的东西。我需要做的就是创建一个excel (.xls)文件,在上面写字,保存并关闭它。但是怎么做呢?你使用FileStream吗?不然呢?如果你理解我的问题,请给我我需要的一两行代码。我快完成这个小项目了!
非常感谢各位。
发布于 2011-07-27 15:39:49
所以,我最终使用的代码如下所示。我有一个字节数组,我不会详细说明它是如何获得的,但它的名称是AllY []。然后,我将其转换为一个名为MyYData []的字符串数组,该数组包含相同的值,但为字符串形式。
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;
为每个人干杯,并保持它的编码!
发布于 2011-07-26 16:20:57
在此之后,通过将字节转换为字符串将字节写入Excel。遍历您的Y[]数组可以在循环中完成。
来自上面链接的代码片段
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;
这会解除你的障碍吗?
https://stackoverflow.com/questions/6827125
复制相似问题