1

我正在使用 Kinect 并尝试将跟踪坐标保存到 excel 文件中。我已经设法创建了 excel 文件并保存了数据,但我需要格式化保存数据的方式才能创建图表。我该怎么做?

数据当前在一个单元格中显示为:

23-04-13 10:24

头部:X:411 Y:255

肩中心:X:417 Y:317

左肩:X:360 Y:353

右肩:X:474 Y:357

左肘:X:341 Y:412

右肘:X:513 Y:426

左手腕:X:321 Y:451

右手腕:X:513 Y:471

左手:X:312 Y:454

右手:X:502 Y:471

脊椎:X:422 Y:389

髋关节中心:X:422 Y:403

左髋:X:397 Y:429

HipRight: X:450 Y:434

左膝:X:305 Y:484

右膝:X:316 Y:425

左脚踝:X:205 Y:547

右脚踝:X:426 Y:437

左脚:X:178 Y:559

右脚:X:394 Y:441

我需要将坐标值放在单独的单元格中。

我保存到excel的代码。

}

        TextBox1.Text = Head;
        TextBox2.Text = ShoulderCenter;
        TextBox3.Text = ShoulderLeft;
        TextBox4.Text = ShoulderRight;
        TextBox5.Text = ElbowLeft;
        TextBox6.Text = ElbowRight;
        TextBox7.Text = WristLeft;
        TextBox8.Text = WristRight;
        TextBox9.Text = HandLeft;
        TextBox10.Text = HandRight;
        TextBox11.Text = Spine;
        TextBox12.Text = HipCenter;
        TextBox13.Text = HipLeft;
        TextBox14.Text = HipRight;
        TextBox15.Text = KneeLeft;
        TextBox16.Text = KneeRight;
        TextBox17.Text = AnkleLeft;
        TextBox18.Text = AnkleRight;
        TextBox19.Text = FootLeft;
        TextBox20.Text = FootRight;


        {
            StreamWriter sw = File.AppendText("Data.xls");
            sw.WriteLine(DateTime.Now);
            sw.WriteLine(TextBox1.Text);
            sw.WriteLine(TextBox2.Text);
            sw.WriteLine(TextBox3.Text);
            sw.WriteLine(TextBox4.Text);
            sw.WriteLine(TextBox5.Text);
            sw.WriteLine(TextBox6.Text);
            sw.WriteLine(TextBox7.Text);
            sw.WriteLine(TextBox8.Text);
            sw.WriteLine(TextBox9.Text);
            sw.WriteLine(TextBox10.Text);
            sw.WriteLine(TextBox11.Text);
            sw.WriteLine(TextBox12.Text);
            sw.WriteLine(TextBox13.Text);
            sw.WriteLine(TextBox14.Text);
            sw.WriteLine(TextBox15.Text);
            sw.WriteLine(TextBox16.Text);
            sw.WriteLine(TextBox17.Text);
            sw.WriteLine(TextBox18.Text);
            sw.WriteLine(TextBox19.Text);
            sw.WriteLine(TextBox20.Text);

            sw.Close();          

    }
4

1 回答 1

0

首先,将您的值放入一个数组(IEnumerable、List 或其他)中,这样您就可以使用循环遍历它。

using Excel = Microsoft.Office.Interop.Excel;

并使用:

public void doExcel()
{

    Excel.Application myExcelApplication = new Excel.Application();
    myExcelApplication.Visible = true; 
    myExcelApplication.ScreenUpdating = true;
    Excel.Workbook myExcelWorkbook = (Excel.Workbook) myExcelApplication.Workbooks.Add(System.Reflection.Missing.Value)); 
    Excel.Worksheet myExcelWorkSheet = (Excel.Worksheet)myExcelWorkbook.ActiveSheet;

    for (int i = 0; i < myList.Count; i++)
    {
        myExcelWorkSheet.Cells[3, i] = String.Format("{0}", myList[i]);                
    }
    myExcelWorkbook.Close(true, "C:\\data.xls", System.Reflection.Missing.Value);
}
于 2013-04-23T12:13:17.470 回答