Excel.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using Microsoft.Office.Interop.Excel;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace WindowsFormsWordExcelDemo
  12. {
  13. public partial class Excel : Form
  14. {
  15. public Excel()
  16. {
  17. InitializeComponent();
  18. }
  19. private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
  20. {
  21. OpenFileDialog openFileDialog = new OpenFileDialog();
  22. openFileDialog.Filter = "Excel Files(*.xlsx)|*.xlsx|Excel Files(*.xls)|*.xls";
  23. if (openFileDialog.ShowDialog() == DialogResult.OK)
  24. {
  25. Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
  26. Workbook workbook = excel.Workbooks.Add(openFileDialog.FileName);
  27. Worksheet worksheet = workbook.ActiveSheet;//让工作表等于当前打开的工作表
  28. //写
  29. worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[1, 1]] = "hello world";
  30. //合并单元格
  31. //Range titleRange = worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[1, 5]];
  32. //titleRange.Merge();
  33. excel.Visible = true;//使用默认程序打开Excel
  34. int cols = worksheet.Columns.Count;
  35. int rows = worksheet.Rows.Count;
  36. //读取行,索引从1开始
  37. for(int i = 1; i <= rows; i++)
  38. {
  39. //读取列
  40. for(int j = 1; j <= cols; j++)
  41. {
  42. if (worksheet.Range[worksheet.Cells[i, j], worksheet.Cells[i, j]] != null && worksheet.Range[worksheet.Cells[i, j], worksheet.Cells[i, j]].Text != String.Empty)
  43. {
  44. //两个worksheet.Cells[i,j],第一个表示起始单元格,第二个表示结束单元格
  45. //richTextBox1.Text = richTextBox1.Text + worksheet.Range[worksheet.Cells[i,j], worksheet.Cells[i,j]].Value.ToString()+"\n";
  46. richTextBox1.Text = richTextBox1.Text + "\n" + worksheet.Range[worksheet.Cells[i, j], worksheet.Cells[i, j]].Text;
  47. }
  48. else
  49. {
  50. break;
  51. }
  52. }
  53. }
  54. MessageBox.Show("完成");
  55. workbook.Close();
  56. excel.Quit();
  57. }
  58. }
  59. }
  60. }