【问题标题】:How do I write a byte [] into an Excel file?如何将字节 [] 写入 Excel 文件?
【发布时间】:2011-07-26 08:16:03
【问题描述】:

虽然我掌握了所有基础知识,但我对 c# 还是很陌生。我基本上有一个字节 [] 用于加速度计的 y 轴(上/下),我称之为 Y[]。我需要一行代码将其导出到一个 excel 文件(我使用 Office 专业版 2003)。我希望将值 Y[0] 写入单元格 A1,将 Y[1] 写入 A2,依此类推(所以只有一列数据。这样做的目的是能够更轻松地使用 excel 来操作数据并且能够绘制它。我知道有像 zed graph 这样的 c# 绘图应用程序,但我更喜欢 excel。

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

非常感谢各位。

【问题讨论】:

    标签: c# excel export byte bytearray


    【解决方案1】:
    1. 看这里:http://social.msdn.microsoft.com/Forums/en-ZA/csharpgeneral/thread/ef11a193-54f3-407b-9374-9f5770fd9fd7

    之后,通过将字节转换为字符串将其写入 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;
    

    这会解除对您的阻止吗?

    【讨论】:

    • 是的,非常如此。我的主要问题是我没有使用 Microsoft.Office.Core 库(我通过你给我的论坛的链接找到了它)。但是,似乎要在 excel 单元格中写入,格式应该是字符串而不是像我一样的字节 []。我应该使用: String[] MyYData = new String[length]; for (int i = 0; i
    • 你可以试试这个:string myString = System.Text.Encoding.ASCII.GetString(Y[0]);
    • 好的人。我想到了。主要归功于“Trefex”的帮助。对于任何有类似问题的人(因为我喜欢在他们弄清楚后将解决方案发布到他们自己的答案的人)我会发布答案。
    【解决方案2】:

    所以,我最终使用的代码如下。 我有一个字节数组,我不会详细说明它是如何得到的,但它被称为 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;

    大家干杯,保持编码!

    【讨论】:

    • 看看这里:codeproject.com/KB/cs/Excel_and_C_.aspx 这应该指出如何创建一个新的 XLS。基本上,打开应用程序,添加工作簿,添加工作表,添加数据,保存东西。让我们知道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    相关资源
    最近更新 更多