乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 我在用C#读Excel文件时,读出的数据没有<em>第一行</em>的,是怎么...-读取exc

我在用C#读Excel文件时,读出的数据没有<em>第一行</em>的,是怎么...-读取exc

作者:乔山办公网日期:

返回目录:excel表格制作


1 、引用 Microsoft.Office.Interop.Excel.dll  

2、引用命名空间、使用别名

using System.Reflection;

using Excel = Microsoft.Office.Interop.Excel;

3.写入excel

写入函数

public void ToExcel(string strTitle)

{

int nMax = 9;

int nMin = 4;

int rowCount = nMax – nMin + 1;//总行数

const int columnCount = 4;//总列数

//创建Excel对象

Excel.Application excelApp = new Excel.ApplicationClass();

//新建工作簿

Excel.Workbook workBook = excelApp.Workbooks.Add(true);

//新建工作表

Excel.Worksheet worksheet = workBook.ActiveSheet as Excel.Worksheet;

////设置标题

//Excel.Range titleRange = worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, columnCount]);//选取单元格

//titleRange.Merge(true);//合并单元格

//titleRange.Value2 = strTitle; //设置单元格内文本

//titleRange.Font.Name = “宋体”;//设置字体

//titleRange.Font.Size = 18;//字体大小

//titleRange.Font.Bold = false;//加粗显示

//titleRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中

//titleRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;//垂直居中

//titleRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;//设置边框

//titleRange.Borders.Weight = Excel.XlBorderWeight.xlThin;//边框常规粗细

//设置表头

string[] strHead = new string[columnCount] { “序号”, “范围”, “分组1″, “分组2″ };

int[] columnWidth = new int[4] { 8, 16, 8, 10 };

for (int i = 0; i < columnCount; i++) {

//Excel.Range headRange = worksheet.Cells[2, i + 1] as Excel.Range;//获取表头单元格

Excel.Range headRange = worksheet.Cells[1, i + 1] as Excel.Range;//获取表头单元格,不用标题则从1开始

headRange.Value2 = strHead[i];//设置单元格文本

headRange.Font.Name = “宋体”;//设置字体

headRange.Font.Size = 12;//字体大小

headRange.Font.Bold = false;//加粗显示

headRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中

headRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;//垂直居中

headRange.ColumnWidth = columnWidth[i];//设置列宽

//  headRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;//设置边框

// headRange.Borders.Weight = Excel.XlBorderWeight.xlThin;//边框常规粗细

}

//设置每列格式

for (int i = 0; i < columnCount; i++) {

//Excel.Range contentRange = worksheet.get_Range(worksheet.Cells[3, i + 1], worksheet.Cells[rowCount - 1 + 3, i + 1]);

Excel.Range contentRange = worksheet.get_Range(worksheet.Cells[2, i + 1], worksheet.Cells[rowCount - 1 + 3, i + 1]);//不用标题则从第二行开始

contentRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中

contentRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;//垂直居中

//contentRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;//设置边框

// contentRange.Borders.Weight = Excel.XlBorderWeight.xlThin;//边框常规粗细

contentRange.WrapText = true;//自动换行

contentRange.NumberFormatLocal = “@e69da5e6ba90e799bee5baa6331”;//文本格式

}

//填充数据

for (int i = nMin; i <= nMax; i++) {

int k = i – nMin;

//excelApp.Cells[k + 3, 1] = string.Format(“{0}”, k + 1);

//excelApp.Cells[k + 3, 2] = string.Format(“{0}-{1}”, i – 0.5, i + 0.5);

//excelApp.Cells[k + 3, 3] = string.Format(“{0}”, k + 3);

//excelApp.Cells[k + 3, 4] = string.Format(“{0}”, k + 4);

excelApp.Cells[k + 2, 1] = string.Format(“{0}”, k + 1);

excelApp.Cells[k + 2, 2] = string.Format(“{0}-{1}”, i – 0.5, i + 0.5);

excelApp.Cells[k + 2, 3] = string.Format(“{0}”, k + 3);

excelApp.Cells[k + 2, 4] = string.Format(“{0}”, k + 4);

}

//设置Excel可见

excelApp.Visible = true;

}

写入按钮函数:

private void button1_Click(object sender, EventArgs e)

{

ToExcel(“方式3″);

}

结果:



连接字符串的问题吧,
string StrConExcel2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;HDR=YES\""

HDR=YES的时候,第一行会被读成列头

如果你第一行就是数据的话,请设置HDR=NO
错误提示说的很清楚啊 “它已经zd被别的用户以独占方式打开,或没有查看数据的权限

1. 给你要打开的excel文件everyone权限, 或以管理员权限运行你的程序
2. 确保没有其他程序正在使用这个excel文件

不可能慢.我曾经读7a64e59b9ee7ad94366过一个10万行的excel,一个sheet都装不下.都是分页装的.也是一瞬间就读进内存了.以下是读excel到DataTable中的方法

 public DataTable GetExcel(string Path)//Excel导入到DataSet
        {
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
            OleDbConnection conn = new OleDbConnection(strConn);
            OleDbDataAdapter myCommand = null;
            DataTable dt = new DataTable();
            int result = 1;
            try
            {
                conn.Open();
                DataTable dtName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
                string strExcel = "Select * from [" + dtName.Rows[0]["TABLE_NAME"].ToString() + "]";
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                myCommand.Fill(dt);
                conn.Close();
            }
            catch (Exception ex)
            {
                result = 2;
            }
            finally
            {
                conn.Close();
            }
            if (result == 2) return null;
            else return dt;
        }

获取第一行第一列

DataTable dt = GetExcel(excelpath);

dt.Rows[0][0].ToString();

相关阅读

  • 怎么在<em>LabVIEW</em>中创建<em>Excel</em>

  • 乔山办公网excel表格制作
  • 应该是将字符串*.xls连接至“模式”端点,在图标的下方。你可以看一下帮助,上面写着呢。labview 生成excel的功能" src="/uploads/tu/248.jpg" style="width: 400px; height: 267px;" />一、用写电子表格函
  • <em>iOS</em>怎样通过Objective-C解析<em>Excel<

  • 乔山办公网excel表格制作
  • 问题有点笼统,确认一下,是不是A类中创建了类B的对象objB,然后想百在C类中使用这个objB对象?方法1:如果想临时使用的话可以度在类C的要使用这个对象的函数中,用(ClassB *)类型
关键词不能为空
极力推荐
  • Excel 制表 立体感-excel怎么立体,excel做立体图表

  • 设置excel表格中的选项具体操作方法如下:1、打开电脑百主上需要设置度的Excel表格文件。2、在Excel界面知上选中需要进行设置的单元格区域。道3、选择页面上方数据栏的数据工具,点

ppt怎么做_excel表格制作_office365_word文档_365办公网