c# 读取excel 单元格内容被截断

wangjiaping1126 2011-02-18 10:48:44
代码
string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\303-171.xlsx;Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"";
OleDbConnection myConn = new OleDbConnection(strCon);
myConn.Open();
OleDbDataAdapter myCommand1 = new OleDbDataAdapter(strCom, myConn);
ds1 = new DataSet();
myCommand1.Fill(ds1, "[HcmServlet5419475b_LCC 2nd sour$]");
myConn.Close();

问题如题,
excel中某个单元格内容如下
C10; C11; C12; C13; C14; C144; C15; C150; C151; C153; C154; C155; C158; C159; C16; C161; C162; C164; C165; C167; C168; C17; C170; C18; C190; C191; C193; C194; C195; C196; C197; C198; C199; C200; C201; C204; C205; C207; C208; C209; C21; C210; C211; C212; C213; C214; C218; C219; C22; C221; C222; C223; C224; C225; C226; C227; C234; C235; C237; C238; C239; C24; C240; C241; C242; C246; C248; C249; C25; C250; C251; C252; C253; C256; C257; C258; C259; C26; C260; C27; C28; C29; C30; C31; C327; C333; C334; C336; C337; C338; C341; C342; C344; C345; C347; C348; C35; C350; C351; C353; C36; C38; C39; C40; C41; C42; C43; C44; C506; C507; C508; C509; C51; C510; C52; C522; C523; C54; C55; C56; C57; C58; C588; C589; C59; C590; C591; C63; C65; C66; C67; C68; C69; C7; C70; C73; C74; C75; C76; C77; C8; C84; C865; C866; C867; C868; C869; C870; C871; C874; C882; C883; C884; C885; C886; C887; C888; C889; C890; C891; C892; C893; C894; C895; C896; C897; C898; C899; C900; C901; CATE4
从datatable中查看,被截断成
C10; C11; C12; C13; C14; C144; C15; C150; C151; C153; C154; C155; C158; C159; C16; C161; C162; C164; C165; C167; C168; C17; C170; C18; C190; C191; C193; C194; C195; C196; C197; C198; C199; C200; C201; C204; C205; C207; C208; C209; C21; C210; C211; C212; C
...全文
329 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
打酱油的 2011-02-18
  • 打赏
  • 举报
回复
没遇到过这个问题.
qldsrx 2011-02-18
  • 打赏
  • 举报
回复
你已经添加了IMEX=1,所以不会出现截断现象了。
我测试过,的确没有截断,只不过用表格控件显示的时候会截断显示,显示不全,但是原始数据没有问题,DataTable中式正常的。
yalan 2011-02-18
  • 打赏
  • 举报
回复
yalan 2011-02-18
  • 打赏
  • 举报
回复
为了使DataGridView显示全你的数据,我将DataGridView的样式设置为:

在设计模式选中DataGridView1,选择属性,设置DefaultCellStyle属性里的WrapMode属性,默认为false,设置为true。
设置AutoSizeRowsMode属性为:DisplayedCellsExceptHeaders。

这样就能完全显示你的数据了
其中拖了2个空间,打开选择excel文件的ToolStripLabel1供打开选择文件
toolStripStatusLabel1显示构造的链接字符串是否正确

测试通过,你看看你的代码是否有问题?
yalan 2011-02-18
  • 打赏
  • 举报
回复
我测试的没问题


附程序源码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace testcheckbox
{
public partial class excel : Form
{
public excel()
{
InitializeComponent();
}

private string xlsname = string.Empty;
DataSet ds = new DataSet();
private void toolStripLabel1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "EXCEL文件(*.xls)|*.xls";
if (ofd.ShowDialog() == DialogResult.OK)
{
xlsname = ofd.FileName;
}
toolStripStatusLabel1.Text = xlsname;
readxls(xlsname);
}

private void readxls(string args_xlsname)
{
string connstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + args_xlsname + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\";";
toolStripStatusLabel1.Text = connstr;
using (OleDbConnection conn = new OleDbConnection(connstr))
{
using (OleDbDataAdapter da = new OleDbDataAdapter("Select * from [Sheet1$]", conn))
{
da.Fill(ds,"excel");
}
}
dataGridView1.DataSource = ds.Tables["excel"];
}
}
}

Excel使用过程中,运用一些技巧会使得我们的工作效率提高很多。而这些技巧往往又被忽略或忘记怎么去使用。本套课程基于此整理了一些Excel方面的技巧,这些呢为学习笔记集锦,前后章内容不存在连贯性,仅整理一些常用的技巧与大家分享。【说明:Excel为2013版本,无下载资料,请参看课程视频学习。】l  本课程知识点l  第1节:概述l  第2节:Excel大批量数据自动填写灵活妙用经验分享l  第3节:巧为Excel2013单元格的文本内容增加拼音l  第4节:Excel单元格内实现自动换行l  第5节:Excel快速使用函数计算不同区域数据l  第6节:Excel单元格超长内容不能显示全巧妙设置l  第7节:巧妙运用之Excel单元格中自动快速输入带有小数点的数值l  第8节:Excel巧妙使用回车键快速粘贴l  第9节:职场必会Excel函数经典应用,使用And函数多条件判断l  第10节:Excel函数经典应用之IF函数条件判断范例l  第11节:Excel技巧之巧妙使用不同颜色区分不同类型数据l  第12节:巧妙快速调整Excle所有单元格或局部单元格l  第13节:巧妙快速切换Excel单元格回车后的纵向输入和横向输入l  第14节:巧妙理解记忆Excel公式中的相对引用和绝对引用l  第15节:Excel单元格文风快速两端对齐l  第16节:Excel2013文档内容快速居中打印l  第17节:excel直接使用模板制作精美格式样式l  第18节: excel使用中可以直接使用翻译功能中英文互译l  第19节:不需要截图工具直接使用excel复制图片l  第20节:excel粘贴也可以多种方式选择了l  第21节:巧为excel单元格画双划线l  第22节:为excel的文字或数字添加单划线或双划线l  第23节:excel连续微调单元格内容字号的大小l  第24节: 快速的将长文本内容变为自适应多行文本l  第25节:excel单元格合并居中l  第26节:单元格内容连续微调缩进量l  第27节:将文本内容倾斜到任意角度l  第28节:单元格内容多种形式的对齐方式l  第29节:快速将数据转换为会计专用数据l  第30节:快速为数据增加或减少小数位数

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧