• Aspose.Cells 使用整理:读取Excel文件里的数据


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Data.OleDb;
    using Aspose.Cells;

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            /// <summary>
            /// 默认构造函数.<br></br>
            /// 2009-04-13 YJ 定义函数.<br></br>
            /// </summary>
            public Form1()
            {
                InitializeComponent();

                //此处的students.xls文件在工程下Bin的程序集目录下
                string opnFileName = Application.StartupPath.Trim() + "\\students.xls";

                if(!string.IsNullOrEmpty(opnFileName))
                {
                    Workbook tcWorkBook = new Workbook();
                    tcWorkBook.Open(opnFileName);
                    Worksheets tcWorkSheets = tcWorkBook.Worksheets;
                    Worksheet tcWorkSheet;
                    Cells tcCells;
                    //索引行号
                    //int tcRow = 0;
                    //索引列号
                    //int tcColumn = 0;
                    Range tcRange;
                    string sExcelValue = "";
                    Cell tcCell;

                    for (int i = 0; i < tcWorkSheets.Count; i++)
                    {
                        tcWorkSheet = tcWorkSheets[i];
                        tcCells = tcWorkSheet.Cells;
                        //以索引的方式遍历工作表
                        //tcCell = tcCells[tcRow, tcColumn];
                        tcCell = tcCells["a2"];
                        string tcSheetName = tcWorkSheets[i].Name;

                        try
                        {
                            // sExcelValue = tcCell.Value.ToString();

                            sExcelValue = tcCell.StringValue;    //可以获取空值
                            MessageBox.Show("工作表 \"" + tcSheetName + "\" a2的数据:" + sExcelValue);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("工作表 \"" + tcSheetName + "\" a2单元格不存在或者已经被合并:" + ex.Message);
                        }

                        if (tcCell.IsMerged)
                        {
                            tcRange = tcCell.GetMergedRange();
                            MessageBox.Show("工作表 \"" + tcSheetName + "\" a2单元格合并了 " + tcRange.RowCount.ToString() + " 行。");
                            MessageBox.Show("工作表 \"" + tcSheetName + "\" a2单元格合并了 " + tcRange.ColumnCount.ToString() + " 列。");
                        }
                        else
                        {
                            MessageBox.Show("工作表 \"" + tcSheetName + "\" a2单元格没有被合并。");
                        }
                    }
                }
            }
        }
    }

  • 相关阅读:
    高并发性能测试
    Gitlab源码库里代码提交后,如何触发jenkins自动构建?
    San初步使用
    客户端通过HTTP协议与服务端交换数据
    Web服务端开发需要考虑的问题(续)
    Web服务端开发需要考虑的问题
    我对Web开发的认识
    postgresql远程连接中断的处理
    关于12306的想法
    oracle context
  • 原文地址:https://www.cnblogs.com/zhanghaichang/p/1967271.html
Copyright © 2020-2023  润新知