耿小超的BLOG
绿柳村边何(sea)
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
posts - 222, comments - 274, trackbacks - 0
公告
欢迎访问耿小超的BLOG
从搜索引擎中搜索关键字: 耿小超可找到这里; 点击标题可进入首页.
<
2008年3月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
与我联系
发短消息
搜索
我参与的团队
HiccDS俱乐部(0/818)
随笔分类
(205)
えういおあ(5)
大江东去(37)
东篱把酒_psp(9)
都门帐饮无绪_php(1)
海边小贝_CSS(32)
黄河之水_database(9)
几番运筹巾纶_项目管理(39)
俱怀逸兴壮思飞_linux(2)
日色欲尽_DOTNET(27)
十二点咖啡_JAVA(19)
为伊消得人憔悴_VB(9)
醉来意气尚轩昂(16)
相册
bmw+hlm
插入图片使用
积分与排名
积分 - 31617
排名 - 1285
最新评论
1. re: 只要生命不息就要坚持到底
这是我生命的句子,我要将他刻在我的心里,永远的激励我自己向前进
--李雄杰
2. re: 日语拗音学习【5.21】
完全不一样的发音啊, 发音依次是 gya gyu gyo jya jyu jyo 没有第三行的音,你搞错了吧 bya byu byo pya pyu pyo...
--风声鹤唳
3. re: 越级言事,DIV遮盖select
?
--荔橙伊珊雨
4. re: 最简单的一个连接数据库的小程序
你学的东西还真杂啊,什么东西都是浅尝辄止,建议看准一样东西学,把它学精,然后在这基础上学其他的语言就容易多了。否则最后只能改改别人的代码了
--kakaxi
5. re: 终于独立实现分页啦
超哥,CuctSoft是什么,星哥给我的OA系统找不到CuctSoft
如果有,给发过来,好吧?
--郭建伟
阅读排行榜
1. tomcat6.0配置(1016)
2. 初次使用MyEclipse 6.0(783)
3. 在MyEclipse 6.0环境里使用vss(696)
4. MyEclipse中配置Web Service Client可能遇到问题及解决方案(转)(622)
5. 几个用div覆盖select的例子(461)
评论排行榜
1. 体验应该体验的,三则寓言[摘自成功学*自我激励](10)
2. 见到了传说中的三区(9)
3. (原创)胡总讲的一个猫狗情未了的感人故事(7)
4. 生成静态页与url重写哪种对防止注入更有利?(7)
5. 怎么才OO?初学者的迷惑~~~~~(6)
读取excel内容在网页上显示出来
类中代码:
/**/
///
<summary>
///
读取Excel表格数据,返回数据集DataSet
///
</summary>
///
<param name="FileName">
文件名
</param>
///
<returns>
dataset
</returns>
public
DataSet GetExcelData(
string
FileName)
{
/**/
///
建立连接,读取表格中的数据
string
strCon
=
"
Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =D:\\Temp\\
"
+
FileName
+
"
;Extended Properties=Excel 8.0
"
;
/**/
///
建立连接,地址为str传递的地址
OleDbConnection myConn
=
new
OleDbConnection(strCon);
string
strCom
=
"
SELECT * FROM [Sheet1$]
"
;
/**/
///
SQL操作语句,就是说:取得所有数据从Sheet1
myConn.Open();
OleDbDataAdapter myCommand
=
new
OleDbDataAdapter(strCom, myConn);
DataSet myDataSet
=
new
DataSet();
/**/
///
建立新的数据集myDataSet
myCommand.Fill(myDataSet,
"
[Sheet1$]
"
);
/**/
///
填充数据集
myConn.Close();
//
columnNum = myDataSet.Tables[0].Columns.Count;
//
/读取列数并赋值给columnNum
//
rowNum = myDataSet.Tables[0].Rows.Count;
//
/读取行数并赋值给rowNum
//
resultRowNum = columnNum - 1;
//
/读取结果行数(实际上就是去掉第一列编号列的列数,我的程序中将结果显示横置了)
return
myDataSet;
}
后台代码:
protected
void
btnshowexcel_Click(
object
sender, EventArgs e)
{
try
{
this
.FileUpload1.SaveAs(
"
D:\\Temp\\
"
+
FileUpload1.FileName);
DataSet ds
=
lh.GetExcelData(FileUpload1.FileName);
string
excelname
=
FileUpload1.FileName;
HiddenField1.Value
=
excelname;
GridView1.DataSource
=
ds;
GridView1.DataBind();
btnshowexcel.Enabled
=
false
;
btnAddexcel.Visible
=
true
;
}
catch
{
Response.Write(
"
<script>alert('查看失败!请检查路径是否正确!');</script>
"
);
}
}
其中由于需要在另一个按钮事件里导入到数据库,用
HiddenField控件轻松存储了一个变量值。
这个控件太帅啦~~~~~~~~
爽爽师姐在我旁边做图片设计,想的“头破血流”呢~~~~嘿嘿!!!
想想自己有问题能找老朱帮忙解决,真太幸福了。
就上面的几个问题要没朱哥光凭自己想指不定弄到什么时候呢~~~~~~~~~
真开心:)
有问题找百度,百度没有找老朱。
嘿嘿!比师姐在一边默默设计幸福多啦~~~~
posted on 2008-03-10 21:01
超少
阅读(129)
评论(3)
编辑
收藏
所属分类:
日色欲尽_DOTNET
Feedback
#1楼
2008-03-10 21:06 |
碎梦
超少加油!!
回复
引用
查看
#2楼
2008-03-12 12:59 |
疯蜂
1
/**/
///
<summary>
2
///
读取Excel文档
3
///
</summary>
4
///
<param name="Path">
文件名称
</param>
5
///
<returns>
返回一个数据集
</returns>
6
public
DataSet ExcelToDS(
string
Path)
7
{
8
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
9
OleDbConnection conn
=
new
OleDbConnection(strConn);
10
conn.Open();
11
string
strExcel
=
""
;
12
OleDbDataAdapter myCommand
=
null
;
13
DataSet ds
=
null
;
14
strExcel
=
"
select * from [sheet1$]
"
;
15
myCommand
=
new
OleDbDataAdapter(strExcel, strConn);
16
ds
=
new
DataSet();
17
myCommand.Fill(ds,
"
table1
"
);
18
return
ds;
19
}
20
21
22
/**/
///
<summary>
23
///
写入Excel文档
24
///
</summary>
25
///
<param name="Path">
文件名称
</param>
26
public
bool
SaveFP2toExcel(
string
Path)
27
{
28
try
29
{
30
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
31
OleDbConnection conn
=
new
OleDbConnection(strConn);
32
conn.Open();
33
System.Data.OleDb.OleDbCommand cmd
=
new
OleDbCommand ();
34
cmd.Connection
=
conn;
35
//
cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";
36
//
cmd.ExecuteNonQuery ();
37
for
(
int
i
=
0
;i
<
fp2.Sheets [
0
].RowCount
-
1
;i
++
)
38
{
39
if
(fp2.Sheets [
0
].Cells[i,
0
].Text
!=
""
)
40
{
41
cmd.CommandText
=
"
INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('
"
+
fp2.Sheets [
0
].Cells[i,
0
].Text
+
"
','
"
+
42
fp2.Sheets [
0
].Cells[i,
1
].Text
+
"
','
"
+
fp2.Sheets [
0
].Cells[i,
2
].Text
+
"
','
"
+
fp2.Sheets [
0
].Cells[i,
3
].Text
+
43
"
','
"
+
fp2.Sheets [
0
].Cells[i,
4
].Text
+
"
','
"
+
fp2.Sheets [
0
].Cells[i,
5
].Text
+
"
')
"
;
44
cmd.ExecuteNonQuery ();
45
}
46
}
47
conn.Close ();
48
return
true
;
49
}
50
catch
(System.Data.OleDb.OleDbException ex)
51
{
52
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
ex.Message );
53
}
54
return
false
;
55
}
56
回复
引用
查看
#3楼
2008-03-12 13:13 |
疯蜂
一个操作类
1
using
System;
2
using
System.Data;
3
using
Excel;
4
5
namespace
LogicLayer
6
{
7
/**/
///
<summary>
8
///
OutputExcel 的摘要说明
9
///
</summary>
10
public
class
OutputExcel
11
{
12
public
OutputExcel(DataView dv,
string
str)
13
{
14
//
15
//
TODO: 在此处添加构造函数逻辑
16
//
17
Excel.Application excel;
18
int
rowIndex
=
4
;
19
int
colIndex
=
1
;
20
21
Excel._Workbook xBk;
22
Excel._Worksheet xSt;
23
24
excel
=
new
Excel.ApplicationClass();;
25
xBk
=
excel.Workbooks.Add(
true
);
26
xSt
=
(Excel._Worksheet)xBk.ActiveSheet;
27
28
//
29
//
取得标题
30
//
31
foreach
(DataColumn col
in
dv.Table.Columns)
32
{
33
colIndex
++
;
34
excel.Cells[
4
,colIndex]
=
col.ColumnName;
35
xSt.get_Range(excel.Cells[
4
,colIndex],excel.Cells[
4
,colIndex]).HorizontalAlignment
=
Excel.XlVAlign.xlVAlignCenter;
//
设置标题格式为居中对齐
36
}
37
38
//
39
//
取得表格中的数据
40
//
41
foreach
(DataRowView row
in
dv)
42
{
43
rowIndex
++
;
44
colIndex
=
1
;
45
foreach
(DataColumn col
in
dv.Table.Columns)
46
{
47
colIndex
++
;
48
if
(col.DataType
==
System.Type.GetType(
"
System.DateTime
"
))
49
{
50
excel.Cells[rowIndex,colIndex]
=
(Convert.ToDateTime(row[col.ColumnName].ToString())).ToString(
"
yyyy-MM-dd
"
);
51
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment
=
Excel.XlVAlign.xlVAlignCenter;
//
设置日期型的字段格式为居中对齐
52
}
53
else
54
if
(col.DataType
==
System.Type.GetType(
"
System.String
"
))
55
{
56
excel.Cells[rowIndex,colIndex]
=
"
'
"
+
row[col.ColumnName].ToString();
57
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment
=
Excel.XlVAlign.xlVAlignCenter;
//
设置字符型的字段格式为居中对齐
58
}
59
else
60
{
61
excel.Cells[rowIndex,colIndex]
=
row[col.ColumnName].ToString();
62
}
63
}
64
}
65
//
66
//
加载一个合计行
67
//
68
int
rowSum
=
rowIndex
+
1
;
69
int
colSum
=
2
;
70
excel.Cells[rowSum,
2
]
=
"
合计
"
;
71
xSt.get_Range(excel.Cells[rowSum,
2
],excel.Cells[rowSum,
2
]).HorizontalAlignment
=
Excel.XlHAlign.xlHAlignCenter;
72
//
73
//
设置选中的部分的颜色
74
//
75
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();
76
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex
=
19
;
//
设置为浅黄色,共计有56种
77
//
78
//
取得整个报表的标题
79
//
80
excel.Cells[
2
,
2
]
=
str;
81
//
82
//
设置整个报表的标题格式
83
//
84
xSt.get_Range(excel.Cells[
2
,
2
],excel.Cells[
2
,
2
]).Font.Bold
=
true
;
85
xSt.get_Range(excel.Cells[
2
,
2
],excel.Cells[
2
,
2
]).Font.Size
=
22
;
86
//
87
//
设置报表表格为最适应宽度
88
//
89
xSt.get_Range(excel.Cells[
4
,
2
],excel.Cells[rowSum,colIndex]).Select();
90
xSt.get_Range(excel.Cells[
4
,
2
],excel.Cells[rowSum,colIndex]).Columns.AutoFit();
91
//
92
//
设置整个报表的标题为跨列居中
93
//
94
xSt.get_Range(excel.Cells[
2
,
2
],excel.Cells[
2
,colIndex]).Select();
95
xSt.get_Range(excel.Cells[
2
,
2
],excel.Cells[
2
,colIndex]).HorizontalAlignment
=
Excel.XlHAlign.xlHAlignCenterAcrossSelection;
96
//
97
//
绘制边框
98
//
99
xSt.get_Range(excel.Cells[
4
,
2
],excel.Cells[rowSum,colIndex]).Borders.LineStyle
=
1
;
100
xSt.get_Range(excel.Cells[
4
,
2
],excel.Cells[rowSum,
2
]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight
=
Excel.XlBorderWeight.xlThick;
//
设置左边线加粗
101
xSt.get_Range(excel.Cells[
4
,
2
],excel.Cells[
4
,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeTop].Weight
=
Excel.XlBorderWeight.xlThick;
//
设置上边线加粗
102
xSt.get_Range(excel.Cells[
4
,colIndex],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeRight].Weight
=
Excel.XlBorderWeight.xlThick;
//
设置右边线加粗
103
xSt.get_Range(excel.Cells[rowSum,
2
],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight
=
Excel.XlBorderWeight.xlThick;
//
设置下边线加粗
104
//
105
//
显示效果
106
//
107
excel.Visible
=
true
;
108
}
109
}
110
}
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-03-10 21:03 编辑过
相关文章:
“图片变幻显示控件”发布
在Excel中使用VBA来筛选数据
(原创)datagrid数据导出到excel文件给客户端下载的几种方法
在网页上设置容器的高度的百分比。
c#读取Excel并显示出来,然后存入数据库.
直接在网页上显示word2007文档
相关链接:
所属分类的其他文章:
ASP与ASP.NET的区别
VS2008开发Silverlight程序用到的插件
页面传值-laber
微软Expression Blend功能介绍【转】
微软Expression Design功能介绍【转】
C# ftp服务
C#中判断空字符串 a.Length==0
项目中用到的一个打开excel并添加进数据的代码
Silverlight风云视频第一天
添加datatable到数据库
最新IT新闻:
Microsoft F# CTP(2008年9月)
微软4.86亿美元收购Greenfield
苹果已然取代微软地位成行业众矢之的
Intel 收购 Poky Linux ,为 MID 注入新的动力
雅虎将关闭社交网站Mash
博客园新闻频道
博客园首页
社区