c#读取表格中数据时速度问题
我用代码读取word文档内所有内容时速度怎样能提高下快点!我这都运行完了那文档还没读完呢!!哪位大侠帮帮我来吧!!谢了先~怎么用c#代码编写取消文档的快速保存属性!!...
我用代码 读取word文档内所有内容时 速度怎样能提高下 快点!我这都运行完了 那文档还没读完 呢!!哪位大侠 帮帮我来吧!!谢了先~
怎么用c#代码 编写 取消文档的快速保存属性!! 展开
怎么用c#代码 编写 取消文档的快速保存属性!! 展开
4个回答
展开全部
利用Word生成的文档,每页在20KB左右,但看到用记事本生成的文档,相同的内容只有1KB左右,能让Word也减减肥吗?其实我们可以采用一些行之有效的方法来减小Word文档的文件大小。
1.取消快速保存 当文件打开时,使用快速保存比使用完全保存需要更多的空间。可以在“工具→选项”命令中选择“保存”选项卡,取消“允许快速保存”复选框即可。
2.文件另存 Word在保存DOC文件时,只把后来修改的信息存入,这样即使你删除了文件中的部分内容也会使文件越来越大,如果我们使用“另存为”命令来保存文件,Word则会重新整理并存盘,如此一来,就可以有效地减小Word文件的容量。
3.谨慎嵌入字体 Word有嵌入字体技术,能够将一篇文章所包含的字体结合成一个文件,以便文件在另一台计算机上能正确地显示,这无疑会使文件的体积大大地增加。要不嵌入TrueType字体,可以单击“工具→选项”命令,再选择“保存”选项卡,然后取消“嵌入TrueType字体”复选框,可以减小Word文档的容量。如果因为在其他机器上演示文档需要嵌入字体,一定记住只嵌入所需字体。即一定要勾选“嵌入语言数据”复选框,这样你的文件中既有所需的字体,又可以减小文档的容量。
4.只创建一个版本 Word的版本功能可以让你的文件生成多个版本,以方便不同的Word来读取,但这样却会使文件增大,单击“文件→保存”命令,可以查看是否有其他版本的存在,如果有则取消,这样会使文件容量大大地减小。
5.页面设置 在保存文件前,单击“文件→页面设置”,打开页面设置对话框,任意单击其中的“纸张大小”、“页边距”等,而其中的内容可以不改动,确定后再保存,就会发现文件容量也减小了。
6.选择性粘贴 在往Word文档中添加图片时,先用工具软件打开图片再进行复制和粘贴操作,这样操作的结果会增加文档容量的大小,原来,当采用粘贴命令时,文档中增加的内容除了我们所需要的图片本身,还有许多与图片和软件有关的信息,并且Word还自动在图片和原来软件中创建了链接。而选用选择性粘贴图片,则只往文档中添加图片本身,大大减少文件规模。
1.取消快速保存 当文件打开时,使用快速保存比使用完全保存需要更多的空间。可以在“工具→选项”命令中选择“保存”选项卡,取消“允许快速保存”复选框即可。
2.文件另存 Word在保存DOC文件时,只把后来修改的信息存入,这样即使你删除了文件中的部分内容也会使文件越来越大,如果我们使用“另存为”命令来保存文件,Word则会重新整理并存盘,如此一来,就可以有效地减小Word文件的容量。
3.谨慎嵌入字体 Word有嵌入字体技术,能够将一篇文章所包含的字体结合成一个文件,以便文件在另一台计算机上能正确地显示,这无疑会使文件的体积大大地增加。要不嵌入TrueType字体,可以单击“工具→选项”命令,再选择“保存”选项卡,然后取消“嵌入TrueType字体”复选框,可以减小Word文档的容量。如果因为在其他机器上演示文档需要嵌入字体,一定记住只嵌入所需字体。即一定要勾选“嵌入语言数据”复选框,这样你的文件中既有所需的字体,又可以减小文档的容量。
4.只创建一个版本 Word的版本功能可以让你的文件生成多个版本,以方便不同的Word来读取,但这样却会使文件增大,单击“文件→保存”命令,可以查看是否有其他版本的存在,如果有则取消,这样会使文件容量大大地减小。
5.页面设置 在保存文件前,单击“文件→页面设置”,打开页面设置对话框,任意单击其中的“纸张大小”、“页边距”等,而其中的内容可以不改动,确定后再保存,就会发现文件容量也减小了。
6.选择性粘贴 在往Word文档中添加图片时,先用工具软件打开图片再进行复制和粘贴操作,这样操作的结果会增加文档容量的大小,原来,当采用粘贴命令时,文档中增加的内容除了我们所需要的图片本身,还有许多与图片和软件有关的信息,并且Word还自动在图片和原来软件中创建了链接。而选用选择性粘贴图片,则只往文档中添加图片本身,大大减少文件规模。
展开全部
DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,应用程序开始运行时,把数据库相关数据保存到DataSet.
DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。
DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快
DataAdapter对象是用来读取数据库.可读取写入数据,某条数据超着强,但它占用内存比dataReader大,速度慢
取个例子:
你从水库或中央储水器取水,需要用管道吧,你家里有水缸或储水器么?
这水库或中央储水器相当于Database,管道相当于Connection对象,这水笼头相当于DataReader对象,你家里的水缸或储水器就相当于DataSet或DataTable
DataReader是个获取数据的只能读/只能象前移动的流,不能改动,也不能滚回到前面的记录去
DataSet或DataTable 相当于独立的存在于内存里的数据库,你可以对其中的数据做任何操作,然后通过DataAdapter把数据更新到数据库去。譬如,你把你家里的水缸或储水器里的水染上色,另建一个管道,把你家里的水缸或储水器里的水传到水库或中央储水器去,:-)
ExecuteNonQuery()方法
执行Insert Update Delete 语句的时候返回受影响的行数
比如插入语句,则受影响的行数就是1,否则就是操作失败。
ExecuteScalar()方法
主要用在语句的聚合函数中,比如Max,Count等,就是获得聚合函数的值。
ExecuteReader()方法
他主要就是返回一个SqlDataReader可以作为一个数据源使用。
举例
this.MyDataGrid.DataSource=MyCmd.ExecuteReader();
this.MyDataGrid.DataBind();
DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。
DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快
DataAdapter对象是用来读取数据库.可读取写入数据,某条数据超着强,但它占用内存比dataReader大,速度慢
取个例子:
你从水库或中央储水器取水,需要用管道吧,你家里有水缸或储水器么?
这水库或中央储水器相当于Database,管道相当于Connection对象,这水笼头相当于DataReader对象,你家里的水缸或储水器就相当于DataSet或DataTable
DataReader是个获取数据的只能读/只能象前移动的流,不能改动,也不能滚回到前面的记录去
DataSet或DataTable 相当于独立的存在于内存里的数据库,你可以对其中的数据做任何操作,然后通过DataAdapter把数据更新到数据库去。譬如,你把你家里的水缸或储水器里的水染上色,另建一个管道,把你家里的水缸或储水器里的水传到水库或中央储水器去,:-)
ExecuteNonQuery()方法
执行Insert Update Delete 语句的时候返回受影响的行数
比如插入语句,则受影响的行数就是1,否则就是操作失败。
ExecuteScalar()方法
主要用在语句的聚合函数中,比如Max,Count等,就是获得聚合函数的值。
ExecuteReader()方法
他主要就是返回一个SqlDataReader可以作为一个数据源使用。
举例
this.MyDataGrid.DataSource=MyCmd.ExecuteReader();
this.MyDataGrid.DataBind();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void btnSelect_Click(object sender, EventArgs e)
{
string m_FileName = "";
string m_Sql = "select * FROM [Sheet1$]";
OpenFileDialog myOpenFile = new OpenFileDialog();
myOpenFile.InitialDirectory = "c:\\";
myOpenFile.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx";
myOpenFile.RestoreDirectory = true;
myOpenFile.FilterIndex = 1;
if (myOpenFile.ShowDialog() == DialogResult.OK)
{
m_FileName = myOpenFile.FileName;
textBoxFileName.Text = m_FileName;
}
else
{
textBoxFileName.Text = "";
return;
}
myDataTable.Clear();
myDataTable = PubPara.ExcelToDataTable(m_FileName, m_Sql);
if (myDataTable == null) return;
dataGridViewArticle.DataSource = myDataTable;
dataGridViewArticle.RowHeadersWidth = 25;
dataGridViewArticle.Columns[2].Width = 200;
dataGridViewArticle.Columns[13].Width = 200;
}
读取比较快,但是看你读取数据怎么保存了
{
string m_FileName = "";
string m_Sql = "select * FROM [Sheet1$]";
OpenFileDialog myOpenFile = new OpenFileDialog();
myOpenFile.InitialDirectory = "c:\\";
myOpenFile.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx";
myOpenFile.RestoreDirectory = true;
myOpenFile.FilterIndex = 1;
if (myOpenFile.ShowDialog() == DialogResult.OK)
{
m_FileName = myOpenFile.FileName;
textBoxFileName.Text = m_FileName;
}
else
{
textBoxFileName.Text = "";
return;
}
myDataTable.Clear();
myDataTable = PubPara.ExcelToDataTable(m_FileName, m_Sql);
if (myDataTable == null) return;
dataGridViewArticle.DataSource = myDataTable;
dataGridViewArticle.RowHeadersWidth = 25;
dataGridViewArticle.Columns[2].Width = 200;
dataGridViewArticle.Columns[13].Width = 200;
}
读取比较快,但是看你读取数据怎么保存了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多少大的文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询