社区
C#
帖子详情
C#从Excel中读取数据问题:
gqchen1981
2005-08-03 01:19:02
我从网上找了些例子,总是不行,
首先从引用方面,我从COM里引用Microsoft Excel 5.0对象程序库(是不是错了?),
然后写
Application exc = new Application();//这里不行,是不是和OFFICE版本有关?我装的好象是2003
后面的就没的写了,打击死了!!
希望高手们帮忙解决下,
最好能写个读取Excel例子,谢谢了!!
...全文
704
9
打赏
收藏
C#从Excel中读取数据问题:
我从网上找了些例子,总是不行, 首先从引用方面,我从COM里引用Microsoft Excel 5.0对象程序库(是不是错了?), 然后写 Application exc = new Application();//这里不行,是不是和OFFICE版本有关?我装的好象是2003 后面的就没的写了,打击死了!! 希望高手们帮忙解决下, 最好能写个读取Excel例子,谢谢了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seekg
2005-08-11
打赏
举报
回复
旁听
qiezic
2005-08-03
打赏
举报
回复
mark
gqchen1981
2005-08-03
打赏
举报
回复
解决了,这不是引用问题
应该是OFFICE版本问题,我的是2003,我找了个2000的.dll文件引用了,
然后就过了,真郁闷啊!不过还是要谢谢大家!
jinger007
2005-08-03
打赏
举报
回复
全称是
Microsoft Excel 10.0 Object Library
Microsoft Office 10.0 Object Library
jinger007
2005-08-03
打赏
举报
回复
在com里面,前面还有Microsoft
gqchen1981
2005-08-03
打赏
举报
回复
excel= new Excel.ApplicationClass();
老大,我这里已经试过啦,不行,我要的是Excel引用,为什么
我这样写编译不过?你们引用的是什么?
gqchen1981
2005-08-03
打赏
举报
回复
interop.excel.dll和office.core我在.net和COM引用里都没找到,
为什么?麻烦2楼能再解释一下!谢谢!
lyb_abiandbel
2005-08-03
打赏
举报
回复
public void OutputExcel(DataView dv,string str)
{
//
// TODO: 在此处添加构造函数逻辑
//
Excel.Application excel;
int rowIndex=4;
int colIndex=1;
Excel._Workbook xBk;
Excel._Worksheet xSt;
excel= new Excel.ApplicationClass();;
xBk = excel.Workbooks.Add(true);
xSt = (Excel._Worksheet)xBk.ActiveSheet;
//
//取得标题
//
foreach(DataColumn col in dv.Table.Columns)
{
colIndex++;
excel.Cells[4,colIndex] = col.ColumnName;
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐
}
//
//取得表格中的数据
//
foreach(DataRowView row in dv)
{
rowIndex ++;
colIndex = 1;
foreach(DataColumn col in dv.Table.Columns)
{
colIndex ++;
if(col.DataType == System.Type.GetType("System.DateTime"))
{
excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置日期型的字段格式为居中对齐
}
else
if(col.DataType == System.Type.GetType("System.String"))
{
excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString();
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置字符型的字段格式为居中对齐
}
else
{
excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();
}
}
}
//
//加载一个合计行
//
int rowSum = rowIndex + 1;
int colSum = 2;
excel.Cells[rowSum,2] = "合计";
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
//
//设置选中的部分的颜色
//
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19;//设置为浅黄色,共计有56种
//
//取得整个报表的标题
//
excel.Cells[2,2] = str;
//
//设置整个报表的标题格式
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;
//
//设置报表表格为最适应宽度
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select();
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit();
//
//设置整个报表的标题为跨列居中
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select();
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;
//
//绘制边框
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = Excel.XlBorderWeight.xlThick;//设置左边线加粗
xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = Excel.XlBorderWeight.xlThick;//设置上边线加粗
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlThick;//设置右边线加粗
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick;//设置下边线加粗
//
//显示效果
//
excel.Visible=true;
}
}
}
调用:
private void Form1_Load(object sender, System.EventArgs e)
{
this.sqlDataAdapter2.Fill(this.dataSet11);
OutputExcel(this.dataSet11.tyfy.DefaultView,"aaaa");//调用OutputExcel
} //"aaaa"是标题
jinger007
2005-08-03
打赏
举报
回复
添加引用的时候应该加这个interop.excel.dll,另外还有office.core
C#
中
读取
Excel
表格数据实例
用
C#
开发的一个读取
Excel
表格的Demo,无需安装office。
C#
把
excel
表格
中
的数据读入到数组
C#
把
excel
表格
中
的数据读入到数组 #把
excel
表格
中
的数据读入到数组
C#
Excel
操作(读取/写入)
C#
编写的操作
Excel
读取/写入动态库(COM/NPOI两种方式),个人推荐使用NPOI方式,因为COM方式存在无法关闭
Excel
进程的情况(个人体验COM方式效率有点低)。。。已设置0分,资源自取。
c#
实现从
Excel
导入数据到textbox
中
c#
实现从
Excel
导入数据到textbox
中
C#
winform 读取
Excel
表格
C#
winform 读取
Excel
表格
中
的数据,
C#
winform 读取
Excel
表格
中
的数据
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章