当前位置:首页教育技巧excel技巧excel公式与函数

view怎么导出excel表格

2024-09-01 09:28:31


1.如何实现将tableview中显示的内容导出到EXCEL中

#ifndef EXCELENGINE_H

#define EXCELENGINE_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

typedef unsigned int UINT;

class ExcelEngine : protected QObject

{

public:

ExcelEngine();

ExcelEngine(QString xlsFile);

~ExcelEngine();

public:

bool Open(UINT nSheet = 1, bool visible = false);//打开xls文件

bool Open(QString xlsFile, UINT nSheet = 1, bool visible = false);

void Save(); //保存xls报表

void Close(); //关闭xls报表

bool SaveDataFrTable(QTableView *tableWidget); //保存数据到xls

bool ReadDataToTable(QTableWidget *tableWidget); //从xls读取数据到ui

QVariant GetCellData(UINT row, UINT column); //获取指定单元数据

bool SetCellData(UINT row, UINT column, QVariant data); //修改指定单元数据

UINT GetRowCount()const;

UINT GetColumnCount()const;

bool IsOpen();

bool IsValid();

protected:

void Clear();

private:

QAxObject *pExcel; //指向整个excel应用程序

QAxObject *pWorkbooks; //指向工作簿集,excel有很多工作簿

QAxObject *pWorkbook; //指向sXlsFile对应的工作簿

QAxObject *pWorksheet; //指向工作簿中的某个sheet表单

QString sXlsFile; //xls文件路径

UINT nCurrSheet; //当前打开的第几个sheet

bool bIsVisible; //excel是否可见

int nRowCount; //行数

int nColumnCount; //列数

int nStartRow; //开始有数据的行下标值

int nStartColumn; //开始有数据的列下标值

bool bIsOpen; //是否已打开

bool bIsValid; //是否有效

bool bIsANewFile; //是否是一个新建xls文件,用来区分打开的excel是已存在文件还是有本类新建的

bool bIsSaveAlready;//防止重复保存

};

2.C# datagrid view 导出excel

1.Microsoft.office.Interop.Excel.Application excel=newMicrosoft.office.Interop.Excel.Application(); excel.SheetsInNewWorkbook=1; excel.Workbooks.Add(); excel.Cells[1,1]=" ";//自行设定,这里表示列名. excel.Cells[1,2]=""; Range range=excel.get_Range(excel.Cells[1,1],excel.Cells[1,10]);//获取标题中的单元格. range.Font.Bold=true;//字体加粗 int i=0,j=0; for(i=0;i<dgv.Rows.Count;i++)//dgv为控件命名.将数据导出到excel { for(j=0;j<3;j++) { excel.Cells[i+2,j+1]=dgv.Rows[i].Cells[j].Value.ToString(); } } excel.Visible=true;。

3.datagridview怎样快速导出生成excel

你好!首先吐槽一下楼上的,别个都说事datagrid view 了,很明显这是Winform端的,你给别个整个asp.net的,你这不是坑人么。

进入正题,代码示例:// 委托定义 delegate void MyDele(string bt, DataGridView dataGridView1, int dy, string filename); ///

/// //bt 标题 dataGridView1 数据源 dy 打印 1为打印 0为不打 /// /// /// /// public static void Export(string bt, DataGridView dataGridView1, int dy, string filename) { if (dataGridView1.RowCount == 0) { MessageBox.Show("对不起,列表中无数据,未能导出数据", "提示"); return; } //总列数 int columnCount = dataGridView1.Columns.Count; //创建Excel对象 _Application excelApp = new ApplicationClass(); //新建工作簿 _Workbook workBook = excelApp.Workbooks.Add(true); //新建工作表 _Worksheet worksheet = workBook.ActiveSheet as _Worksheet; try { //设置标题 ////Range titleRange = worksheet.get_Range( ////worksheet.Cells[1, 1], worksheet.Cells[1, columnCount]); //选取单元格 //titleRange.Merge(true);//合并单元格 //titleRange.Value2 = bt.ToString();//设置单元格内容 ////titleRange.Font.Name = "黑体";//设置字体 //titleRange.Font.Color = Color.Red;//设置字体颜色 ////titleRange.Font.Size = 20;//设置字体大小 ////titleRange.Font.Bold = true;//字体加粗 //// titleRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;//水平居中 //// titleRange.VerticalAlignment = XlVAlign.xlVAlignCenter;//垂直居中 //titleRange.Borders.LineStyle = XlLineStyle.xlContinuous;//设置边框 //titleRange.Borders.Weight = XlBorderWeight.xlThin;//设置边框粗细 //设置表头 for (int i = 0; i < columnCount; i++) { Range headRange = worksheet.Cells[2, i + 1] as Range;//获取表头单元格 headRange.Value2 = dataGridView1.Columns[i].HeaderText;//设置单元格文本 //headRange.Font.Name = "宋体";//设置字体 //headRange.Font.Size = 14;//字体大小 //headRange.Font.Bold = true;//加粗显示 //headRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;//水平居中 //headRange.VerticalAlignment = XlVAlign.xlVAlignCenter;//垂直居中 ////headRange.ColumnWidth = dataGridView1.Columns[i].Width / 7;//设置列宽 ////headRange.EntireColumn.AutoFit();//自动调整列宽 //headRange.Borders.LineStyle = XlLineStyle.xlContinuous;//设置边框 //headRange.Borders.Weight = XlBorderWeight.xlThin;//设置边框粗细 } //填充数据 for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { Range contentRange = worksheet.Cells[i + 3, j + 1] as Range;//获取单元格 contentRange.EntireColumn.AutoFit();//自动调整列宽 //contentRange.RowHeight = 20;//设置行高 worksheet.Cells[i + 3, j + 1] = dataGridView1[j, i].Value.ToString();//设置单元格文本 //contentRange.Borders.LineStyle = XlLineStyle.xlContinuous;//设置边框 //contentRange.Borders.Weight = XlBorderWeight.xlThin;//设置边框粗细 //contentRange.WrapText = true;//自动换行 } } //设置每列格式 //for (int i = 0; i < dataGridView1.Columns.Count; i++) //{ // Range range = worksheet.get_Range(worksheet.Cells[3, i + 1], worksheet.Cells[dataGridView1.RowCount + 3, i + 1]); // range.HorizontalAlignment = XlHAlign.xlHAlignLeft;//对齐方式 // range.NumberFormatLocal = "0";//格式化文本,单元格格式设置 //} //保存导出的Excel workBook.SaveCopyAs(filename + "\\" + "用户表_" + DateTime.Now.ToString("yyMMddhhmmss") + ".xls"); workBook.Saved = true; //设置Excel是否可见 //excelApp.Visible = true; //显示打印预览 if (dy == 1) worksheet.PrintPreview(true); } catch { } finally { } } public static void InSet(string bt, DataGridView dataGridView1, int dy, string filename) { // 声明委托对象 MyDele dele = new MyDele(Export); // 异步执行 dele.BeginInvoke(bt, dataGridView1, dy, filename, null, null); }//以上代码可以直接复制,编译通过后 InSet("表名", dataGridView1, 0, filename); 另存为一般写在前面,如 string filename = ""; FolderBrowserDialog file = new FolderBrowserDialog(); if (file.ShowDialog() == DialogResult.OK) { filename = file.SelectedPath; if (filename == string.Empty) { MessageBox.Show("路径不能为空!"); return; } } //这里在调用上面的方法即可InSet("表名", dataGridView1, 0, filename); 是否可以解决您的问题?。

4.如何将ListView中的数据导出到Excel

首先要引入一个命名空间:Microsoft.Office.Interop.Excel;代码贴出。

希望可以帮到楼主Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); excel.Visible = false; excel.Application.Workbooks.Add(true); for (int i = 0; i < this.listView1.Columns.Count; i++)//为excel添加标题 { excel.Cells[1, i + 1] = listView1.Columns[i].Text; } for (int i = 0; i < listView1.Items.Count; i++)//添加每一项 { for (int j = 0; j < listView1.Columns.Count; j++) { excel.Cells[i + 2, j + 1] = listView1.Items[i].SubItems[j].Text; } } excel.DisplayAlerts = false;//和下面这个通常是一起用的 excel. = false;//设置禁止弹出保存和覆盖的询问提示框 excel.Application.Workbooks[1].Save(); excel.Application.Save("C:\\123.xsl");//保存路径。可以自定义,也可以通过savedialog对话框获取保存路劲。

5.如何将ListView中的数据导出到Excel

首先要引入一个命名空间:Microsoft.Office.Interop.Excel;代码贴出。希望可以帮到楼主Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

excel.Visible = false;

excel.Application.Workbooks.Add(true);

for (int i = 0; i < this.listView1.Columns.Count; i++)//为excel添加标题

{

excel.Cells[1, i + 1] = listView1.Columns[i].Text;

}

for (int i = 0; i < listView1.Items.Count; i++)//添加每一项

{

for (int j = 0; j < listView1.Columns.Count; j++)

{

excel.Cells[i + 2, j + 1] = listView1.Items[i].SubItems[j].Text;

}

}

excel.DisplayAlerts = false;//和下面这个通常是一起用的

excel. = false;//设置禁止弹出保存和覆盖的询问提示框

excel.Application.Workbooks[1].Save();

excel.Application.Save("C:\\123.xsl");//保存路径。可以自定义,也可以通过savedialog对话框获取保存路劲

相关信息


电脑版

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2024 www.at317.com All Rights Reserved .