DataGridView导出到Word
2024-08-27 02:16:25
#region 使用Interop.Word.dll将DataGridView导出到Word
/// <summary>
/// 使用Interop.Word.dll将DataGridView导出到Word
/// </summary>
/// <param name="dGV"></param>
/*保会通财务软件公司*/
public static void DataGridViewExportToWord_WordDll(DataGridView dGV)
{
Microsoft.Office.Interop.Word.Document mydoc = new Microsoft.Office.Interop.Word.Document();
//实例化Word文档对象
Word.Table mytable;
//声明Word表格
Word.Selection mysel;
//声明Word选区
Object myobj;
if (dGV.Rows.Count == 0) return;
//建立Word对象
Word.Application word = new Word.Application();
myobj = System.Reflection.Missing.Value; mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
word.Visible = true; mydoc.Select();
mysel = word.Selection;
//将数据生成Word表格文件
mytable = mydoc.Tables.Add(mysel.Range, dGV.RowCount, dGV.ColumnCount, ref myobj, ref myobj);
//设置列宽
mytable.Columns.SetWidth(80, Word.WdRulerStyle.wdAdjustNone);
//mytable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleThickThinLargeGap;
mytable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
mytable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle; //输出列标题数据
for (int i = 0; i < dGV.ColumnCount; i++)
{
mytable.Cell(1, i + 1).Range.InsertAfter(dGV.Columns[i].HeaderText);
}
//输出控件中的记录
for (int i = 0; i < dGV.RowCount - 1; i++)
{
for (int j = 0; j < dGV.ColumnCount; j++)
{
mytable.Cell(i + 2, j + 1).Range.InsertAfter(dGV[j, i].FormattedValue.ToString()); }
}
GC.Collect();
}
#endregion
最新文章
- Flink &ndash; window operator
- Beta版本冲刺Day4
- 解析ASP.NET Mvc开发之查询数据实例
- TP自带的缓存机制
- SQL 去特殊字符
- ProgressBar的Indeterminate属性
- Play 起步
- Beta冲刺第四天
- PAT1093: Count PAT&#39;s
- android中Imageview的布局和使用
- Vue, React, AngularJS, Angular2 我们对流行JavaScript框架们的选择
- mobx 入门
- 2017-2018-2 20165303 实验二《Java面向对象程序设计》实验报告
- Oracle system表空间满的暂定解决方法
- 3.纯 CSS 创作一个容器厚条纹边框特效
- 在Eclipse中开发angularjs
- Word 只读模式修改
- spring-webservice.xml
- Linux解压工具
- LeetCode 257.二叉树所有路径(C++)
热门文章
- gcc与g++区别以及相关参数详解
- 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
- open-stf 安装篇(linux)
- linux查看资源占用情况
- 添加路由时啥时候是dev啥时候是gw
- [剑指Offer] 57.二叉树的下一个结点
- 【Python】关于Python里面小数点精度控制的问题
- httpservlet在创建实例对象时候默认调用有参数的init方法 destroy()方法 service方法, 父类的init方法给子类实例一个config对象
- BZOJ 1196 公路修建问题(二分+最小生成树)
- Codeforces ECR52 div2翻车记