社区
C#
帖子详情
请问在C#中如何设置Excel文件某一列的对齐方式(比如左对齐),以及某列的宽度。恳请各位大虾帮忙,谢谢!!
cyj2008
2004-12-09 06:53:51
请问在C#中如何设置Excel文件某一列的对齐方式(比如左对齐),以及某列的宽度。
恳请各位大虾帮忙,谢谢!!
...全文
1103
7
打赏
收藏
请问在C#中如何设置Excel文件某一列的对齐方式(比如左对齐),以及某列的宽度。恳请各位大虾帮忙,谢谢!!
请问在C#中如何设置Excel文件某一列的对齐方式(比如左对齐),以及某列的宽度。 恳请各位大虾帮忙,谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cshape_gis
2004-12-12
打赏
举报
回复
或者你可以录制一个宏,看代码改写一下就行了
cshape_gis
2004-12-12
打赏
举报
回复
Sheet.get_Range(参数1,参数2).HorizontalAlignment=Excel.XlHAlign.xlHAlignCenterAcrossSelection;
XlHAlign下就是对其的方法
tongcheng
2004-12-12
打赏
举报
回复
看看
cyj2008
2004-12-12
打赏
举报
回复
非常感谢各位,尤其是 love040309(04-03-09开始时..) 和cshape_gis(GIS开发者).
love040309
2004-12-12
打赏
举报
回复
private void OutputExcel1(DataSet ds,string str)
{
//
// TODO: 在此处添加构造函数逻辑
//
Excel.Application excel=new Excel.Application( );
int rowIndex=4;
int colIndex=1;
Excel._Workbook xBk;
Excel._Worksheet xSt;
excel.Visible=true;
xBk = excel.Application.Workbooks.Add(true);
xSt = (Excel._Worksheet)xBk.Application.ActiveSheet;
xSt.Name="japy";
//
//取得标题
//
foreach(DataColumn col in ds.Tables["custs"].Columns)
{
colIndex++;
excel.Cells[4,colIndex] = col.ColumnName;
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐
}
//
//取得表格中的数据
//
foreach(DataRow row in ds.Tables["custs"].Rows)
{
rowIndex ++;
colIndex = 1;
foreach(DataColumn col in ds.Tables["custs"].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;//设置下边线加粗
//
//显示效果
//
xBk.Saved=true;
excel.UserControl=false;
excel.ActiveWorkbook.SaveCopyAs(Server.MapPath( ".")+ "\\" +"filename.xls");
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)excel);
GC.Collect();
}
cyj2008
2004-12-12
打赏
举报
回复
先自己顶上去
jackie615
2004-12-09
打赏
举报
回复
学习
C#
串口通信工具
在IT行业
中
,串口通信是一种常见且重要的技术,特别是在嵌入式系统、设备控制和数据交换等场景。本文将深入探讨“
C#
串口通信工具”这一主题,结合提供的资源,帮助你理解如何使用
C#
语言实现串口通信功能。 首先,让...
C#
基类整理
在
C#
中
,一个常见的做法是创建一个名为“Common”的项目或命名空间,存放如日志记录、配置管理、异常处理等通用功能的类。 4. **DotNet基础类大全**:.NET Framework是微软提供的一个平台,包含了大量的类库,如...
C#
高性能大容量SOCKET并发完成端口例子(有
C#
客户端)完整实例源码
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程
文件
流、吞吐量协议,用于测试SocketAsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度...
C#
实现摄像头控制
AForge.NET是一个开源框架,提供了丰富的图像处理和计算机视觉功能,使得在
C#
中
操作摄像头变得更加便捷。现在,我们来深入探讨这个话题。 首先,
C#
是微软开发的一种面向对象的编程语言,广泛应用于Windows平台上的...
C#
界面皮肤(带例子)
在IT领域,尤其是在软件开发
中
,用户界面的设计与体验至关重要。
C#
作为一种强大的.NET框架下的编程语言,提供了丰富的工具和库来创建具有吸引力的界面。本文将深入探讨
C#
界面皮肤的相关知识点,以及如何利用这些资源...
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章