乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > VB中如何将msflexgrid控件中的数据导成<em>Excel</em>-excel fle

VB中如何将msflexgrid控件中的数据导成<em>Excel</em>-excel fle

作者:乔山办公网日期:

返回目录:excel表格制作


引用的别人的:
Gridview导出为Excel
尝试了一下Gridview导出为Excel,原本以为很简单,可是真正应用起来还是不太好弄的,呵呵,所想非所得。总结了一下应该注意下面几点:
1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据;
2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置;
3.要写一个空的VerifyRenderingInServerForm方法(必须e69da5e887aa7a686964616f331写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;
4.导出后别忘记再重新设置其allowpaging属性;
当我把这些都设置好以后,点击[导出],出现了 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called during Render(); ) 的错误,又检查代码,没发现问题啊,搞了一会弄不出来,然后搜索了一下,发现了解决办法:
修改你的aspx文件中的:
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true" CodeFile="SysUser.aspx.cs" Inherits="Autho_SysUser2" %>
增加红色的部分就ok了。

在机房收费系统中,其中有一个功能是:将Msflexgrid控件中的数据导入到excel中,经过几天的奋战,连查带改,现在提供一种方法,仅供参考:实现这个功能,首先需先在工程中引用MrcrosoftExcel xx Object Library,然后新建一个模块,声明如下子过程:[vb]Public SubOutDataToExcel(Flex AsMSFlexGrid) '导出至ExcelDim s As StringDim i As IntegerDim j As IntegerDim k As IntegerOnError GoTo ErtMe.MousePointer = 11Dim Excelapp As Excel.ApplicationSet Excelapp = New Excel.ApplicationOnError Resume NextDoEventsExcelapp.SheetsInNewWorkbook = 1Excelapp.Workbooks.AddExcelapp.ActiveSheet.Cells(1, 3) = sExcelapp.Range(C1).SelectExcelapp.Selection.Font.FontStyle=BoldExcelapp.Selection.Font.Size = 16With Flexk= .RowsFor i = 0 To k - 1For j = 0 To .Cols - 1DoEventsExcelapp.ActiveSheet.Cells(3 + i, j + 1) =' &.TextMatrix(i, j)Next jNext iEnd WithMe.MousePointer = 0Excelapp.Visible = TrueExcelapp.Sheets.PrintPreviewErt:If Not (Excelapp Is Nothing) ThenExcelapp.QuitEnd IfEnd Sub调用该子e799bee5baa6e79fa5e98193e4b893e5b19e339过程直接呈现的是EXCEL打印预览界面,如果需要编辑,把上面子过程中的Excelapp.Sheets.PrintPreview 和 Excelapp.Quit 这二条语句去掉,这样就会直接显示导入数据后的Excel表.然后在命令按钮单击事件下编写如下代码:[vb]
public void WriteToExcel(DataTable table,string fileName)
{
try
{
//string tempImagePath = Application.StartupPath;//软件安装目录
//string temp = tempImagePath + "\\Execl";//目录下的Execl文件夹
//Directory.CreateDirectory(@temp);
string strFilePath = fileName; //赋给文件的名字
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false, System.Text.Encoding.Default); //写入流
object[] values = new object[table.Columns.Count];
for (int i = 0; i < table.Columns.Count; ++i)
{
if (table.Columns[i].Caption.ToString() == "id")
{
table.Columns[i].Caption = "编号";
}
else if (table.Columns[i].Caption.ToString() == "inmoney")
{
table.Columns[i].Caption = "金额7a64e78988e69d83336";
}
else if (table.Columns[i].Caption.ToString() == "totalMoney")
{
table.Columns[i].Caption = "剩余金额";
}
else if (table.Columns[i].Caption.ToString() == "createTime")
{
table.Columns[i].Caption = "创建时间";
}
else if (table.Columns[i].Caption.ToString() == "description")
{
table.Columns[i].Caption = "描述";
}
else if (table.Columns[i].Caption.ToString() == "typeName")
{
table.Columns[i].Caption = "类型";
}
sw.Write(table.Columns[i].Caption.ToString());
sw.Write('\t');
}
sw.Write("\r\n");
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < values.Length; ++j)
{
sw.Write(table.Rows[i][j]);
sw.Write('\t');
}
sw.Write("\r\n");
}
sw.Flush();
sw.Close();
MessageBox.Show("成功导出[" + table.Rows.Count.ToString() + "]行到Execl!");
}
catch
{
MessageBox.Show("导出Execl失败!");
}
}

我刚好在用这款控件,大体看了下,7a686964616fe59b9ee7ad94365给你个解决方案:
c1FlexGrid1[2, 1] = "abc";
c1FlexGrid1.SetCellImage(2, 2, Image.FromFile(@"C:UsersPublicPicturesSample PicturesChrysanthemum.jpg"));
XLSheet sheet = c1XLBook1.Sheets[0];
sheet[2, 1-1].Value = c1FlexGrid1[2, 1];
int width = (int)(((double)sheet.DefaultColumnWidth) * (1.0 / 1440.0) * this.c1FlexGrid1.CreateGraphics().DpiY);
int height = (int)(((double)sheet.DefaultRowHeight) * (1.0 / 1440.0) * this.c1FlexGrid1.CreateGraphics().DpiY);
Bitmap img = new Bitmap(c1FlexGrid1.GetCellImage(2, 2), width, height);
sheet[2, 2-1].Value = img;
c1XLBook1.Save(@"C:MyExcel.xlsx");
System.Diagnostics.Process.Start(@"C:MyExcel.xlsx");

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网