c#利用office组件导出
2014-12-16 14:58
232 查看
Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application();
Worksheet worksheet1= (Worksheet)excel1.Worksheets[1];
Microsoft.Office.Interop.Excel.Range range = worksheet1.Range[worksheet1.Cells[4, 1], worksheet1.Cells[8, 1]];//获取Excel多个单元格区域
1.合并单元格
range.Merge(0);//单元格合并动作
worksheet1.Cells[4, 1] = "项目";//为合并的单元格赋值
---------
2.给单元格加边框
//内外边框都显示
range.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
range.Borders.Weight = 3;//边框线的粗细
//只显示外边框
range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
---------
3.设置单元格的宽度,和自动调整列宽
excelRange.ColumnWidth = 15;//设置单元格的宽度
rang.EntireColumn.AutoFit();//自动调整列宽
---------
4.设置背景填充颜色
range.Interior.ColorIndex = 8;
---------
5.其他小设置
range.Font.Size = 15; //设置字体大小
range.Font.Underline=true; //设置字体是否有下划线
range.Font.Name="黑体"; 设置字体的种类
range.HorizontalAlignment=XlHAlign.xlHAlignCenter; //设置字体在单元格内的对其方式 range.ColumnWidth=15; //设置单元格的宽度
range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb(); //设置单元格的背景range.Borders.LineStyle=1; //设置单元格边框的粗细
range.EntireColumn.AutoFit();//自动调整列宽
range.HorizontalAlignment= xlCenter; // 文本水平居中方式
range.VerticalAlignment= xlCenter //文本垂直居中方式
range.WrapText=true; //文本自动换行
range.Interior.ColorIndex=39; //填充颜色为淡紫色
range.Font.Color=clBlue; //字体颜色
------------------【华丽丽的分割线又来了,哈哈哈】--------------------------------
【代码示例和效果显示,吼吼】
Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application();
try
{
DateTime startTime = startDateTime.Value;
DateTime endTime = endDateTime.Value;
string filename = "D:\\Mini充值对账明细" + startTime.ToString("yyyyMMdd") + "-" + endTime.ToString("yyyyMMdd") + ".xlsx";
//创建
Workbook workbook1 = excel1.Workbooks.Add(true);
Worksheet worksheet1;
//判断Excel是否存在
if (File.Exists(filename))
{
//如果excel已经存在,就打开excel,在里面重新新建一选项卡
Workbook xBook = excel1.Workbooks._Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
worksheet1 = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Worksheets.Add(Missing.Value, Missing.Value, 1, Missing.Value);
}
else
{
//不存在的话,直接选择第一个选项卡进行操作
worksheet1 = (Worksheet)excel1.Worksheets[1];
}
worksheet1.Name = "汇总";//选项卡的名称
//-----------------------写入内容
#region --------------不一致的情况
//腾讯
DataSet dsNotSame1 = TencentMiniManager.GetV_TenMethod(startTime, endTime, "v_NotSameTen");
if (dsNotSame1.Tables[0].Rows.Count > 0)
{
worksheet1.Cells[startRows + 3, 1] = "不一致的情况";
Microsoft.Office.Interop.Excel.Range range5 = worksheet1.Range[worksheet1.Cells[startRows + 3, 1], worksheet1.Cells[startRows
+ 3, 1]];
range5.Interior.ColorIndex = 8;
//项目合并单元格
Microsoft.Office.Interop.Excel.Range range5_1 = worksheet1.Range[worksheet1.Cells[startRows + 4, 1], worksheet1.Cells[startRows
+ 5, 1]];
range5_1.Merge(0);
worksheet1.Cells[startRows + 4, 1] = "项目";
Microsoft.Office.Interop.Excel.Range range5_2 = worksheet1.Range[worksheet1.Cells[startRows + 4, 2], worksheet1.Cells[startRows
+ 4, 3]];
range5_2.Merge(0);
worksheet1.Cells[startRows + 4, 2] = "腾讯";
Microsoft.Office.Interop.Excel.Range range5_3 = worksheet1.Range[worksheet1.Cells[startRows + 4, 4], worksheet1.Cells[startRows
+ 4, 5]];
range5_3.Merge(0);
worksheet1.Cells[startRows + 4, 4] = "支付公司";
worksheet1.Cells[startRows + 5, 2] = "笔数";
worksheet1.Cells[startRows + 5, 3] = "面额";
worksheet1.Cells[startRows + 5, 4] = "笔数";
worksheet1.Cells[startRows + 5, 5] = "订单金额";
Microsoft.Office.Interop.Excel.Range range5_4 = worksheet1.Range[worksheet1.Cells[startRows + 4, 1], worksheet1.Cells[startRows
+ 5, 5]];
range5_4.Interior.ColorIndex = 15;
int startRange5 = startRows + 4;
startRows = startRows + 6;
int _rows1 = 0;
//支付公司总计
float paySum1 = 0;
float paySum2 = 0;
if (dsNotSame1 != null && dsNotSame1.Tables[0].Rows.Count > 0)
{
_rows1 = dsNotSame1.Tables[0].Rows.Count;
for (int i = 0; i < _rows1; i++)
{
for (int j = 0; j < 3; j++)
Worksheet worksheet1= (Worksheet)excel1.Worksheets[1];
Microsoft.Office.Interop.Excel.Range range = worksheet1.Range[worksheet1.Cells[4, 1], worksheet1.Cells[8, 1]];//获取Excel多个单元格区域
1.合并单元格
range.Merge(0);//单元格合并动作
worksheet1.Cells[4, 1] = "项目";//为合并的单元格赋值
---------
2.给单元格加边框
//内外边框都显示
range.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
range.Borders.Weight = 3;//边框线的粗细
//只显示外边框
range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
---------
3.设置单元格的宽度,和自动调整列宽
excelRange.ColumnWidth = 15;//设置单元格的宽度
rang.EntireColumn.AutoFit();//自动调整列宽
---------
4.设置背景填充颜色
range.Interior.ColorIndex = 8;
---------
5.其他小设置
range.Font.Size = 15; //设置字体大小
range.Font.Underline=true; //设置字体是否有下划线
range.Font.Name="黑体"; 设置字体的种类
range.HorizontalAlignment=XlHAlign.xlHAlignCenter; //设置字体在单元格内的对其方式 range.ColumnWidth=15; //设置单元格的宽度
range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb(); //设置单元格的背景range.Borders.LineStyle=1; //设置单元格边框的粗细
range.EntireColumn.AutoFit();//自动调整列宽
range.HorizontalAlignment= xlCenter; // 文本水平居中方式
range.VerticalAlignment= xlCenter //文本垂直居中方式
range.WrapText=true; //文本自动换行
range.Interior.ColorIndex=39; //填充颜色为淡紫色
range.Font.Color=clBlue; //字体颜色
------------------【华丽丽的分割线又来了,哈哈哈】--------------------------------
【代码示例和效果显示,吼吼】
Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application();
try
{
DateTime startTime = startDateTime.Value;
DateTime endTime = endDateTime.Value;
string filename = "D:\\Mini充值对账明细" + startTime.ToString("yyyyMMdd") + "-" + endTime.ToString("yyyyMMdd") + ".xlsx";
//创建
Workbook workbook1 = excel1.Workbooks.Add(true);
Worksheet worksheet1;
//判断Excel是否存在
if (File.Exists(filename))
{
//如果excel已经存在,就打开excel,在里面重新新建一选项卡
Workbook xBook = excel1.Workbooks._Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
worksheet1 = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Worksheets.Add(Missing.Value, Missing.Value, 1, Missing.Value);
}
else
{
//不存在的话,直接选择第一个选项卡进行操作
worksheet1 = (Worksheet)excel1.Worksheets[1];
}
worksheet1.Name = "汇总";//选项卡的名称
//-----------------------写入内容
#region --------------不一致的情况
//腾讯
DataSet dsNotSame1 = TencentMiniManager.GetV_TenMethod(startTime, endTime, "v_NotSameTen");
if (dsNotSame1.Tables[0].Rows.Count > 0)
{
worksheet1.Cells[startRows + 3, 1] = "不一致的情况";
Microsoft.Office.Interop.Excel.Range range5 = worksheet1.Range[worksheet1.Cells[startRows + 3, 1], worksheet1.Cells[startRows
+ 3, 1]];
range5.Interior.ColorIndex = 8;
//项目合并单元格
Microsoft.Office.Interop.Excel.Range range5_1 = worksheet1.Range[worksheet1.Cells[startRows + 4, 1], worksheet1.Cells[startRows
+ 5, 1]];
range5_1.Merge(0);
worksheet1.Cells[startRows + 4, 1] = "项目";
Microsoft.Office.Interop.Excel.Range range5_2 = worksheet1.Range[worksheet1.Cells[startRows + 4, 2], worksheet1.Cells[startRows
+ 4, 3]];
range5_2.Merge(0);
worksheet1.Cells[startRows + 4, 2] = "腾讯";
Microsoft.Office.Interop.Excel.Range range5_3 = worksheet1.Range[worksheet1.Cells[startRows + 4, 4], worksheet1.Cells[startRows
+ 4, 5]];
range5_3.Merge(0);
worksheet1.Cells[startRows + 4, 4] = "支付公司";
worksheet1.Cells[startRows + 5, 2] = "笔数";
worksheet1.Cells[startRows + 5, 3] = "面额";
worksheet1.Cells[startRows + 5, 4] = "笔数";
worksheet1.Cells[startRows + 5, 5] = "订单金额";
Microsoft.Office.Interop.Excel.Range range5_4 = worksheet1.Range[worksheet1.Cells[startRows + 4, 1], worksheet1.Cells[startRows
+ 5, 5]];
range5_4.Interior.ColorIndex = 15;
int startRange5 = startRows + 4;
startRows = startRows + 6;
int _rows1 = 0;
//支付公司总计
float paySum1 = 0;
float paySum2 = 0;
if (dsNotSame1 != null && dsNotSame1.Tables[0].Rows.Count > 0)
{
_rows1 = dsNotSame1.Tables[0].Rows.Count;
for (int i = 0; i < _rows1; i++)
{
for (int j = 0; j < 3; j++)
相关文章推荐
- (C#)利用Aspose.Cells组件导入导出excel文件
- C#利用Microsoft.Office.Interop.Excel导出excel文件
- (C#)利用Aspose.Cells组件导入导出excel文件
- 【转】 (C#)利用Aspose.Cells组件导入导出excel文件
- (C#)利用Aspose.Cells组件导入导出excel文件
- VSTS 2008 利用NPOI组件实现将 DataSource 导出成 excel
- c# 导出Excel Xml格式 不用安装Excel也不用引入任何组件
- [C#]利用VSTO操作Office文档而无需安装Office
- [原创]C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- 不依赖OFFICE组件实现带图片的EXCEL导出
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel) 收藏
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- 利用OWC组件生成EXCEL表(c#)
- Office 2007 打开 C# VS2005 导出的Excel时报错:单元格数据太大 Office 2003打开正常 的解决办法
- ASP.NET C# 邮件发送一:利用Jmail组件发送邮件
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- c#调用office组件示例
- [C#]利用VSTO操作Office文档而无需安装Office
- 在C#中利用VC的DLL和组件的方法
- 关于C#操作EXCEL,生成图表的全面应用之二(利用Microsoft.Office.Interop.OWC11)