1、首先,打开媒介工具“记事本”,将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中将txt文件取名为“数据源txt”。
2、打开excel表格,点击“数据”选项卡,找到“自文本”。
3、点击“自文本”,d出下一窗口,选择刚才保存的名为“数据源”的txt类型文件,点击“导入”。因“自文本”方式数据导入默认的只有三种文件类型txt、csv、prn,所以需要事先将word转变为txt。
4、d出“文本导入向导”对话框。选择最适合的文件类型,方便导入后,数据以已选择方式分列。点击“下一步”。
特别注意,如果选的“分隔符号”,则分隔符号必须是英文状态下的符号,否则导入后无法分列。
5、设置分列数据所包含的分隔符号,其实就是导入数据列数的控制,选择分隔符。
示例文档用“,”把每列隔开的,所以选择“逗号”。
完成设定后,点击下一步。
6
6、列数据格式选择”常规“,”常规“选项更为智能。
完成设定后,点击完成。
1、首先在打开的C语言软件中,如下图所示,添加stdioh头文件。
2、然后添加main主函数,如下图所示。
3、接着在下一行,添加返回值return 0,如下图所示。
4、然后添加printf("A\tB\n");语句, \t可以输出空格,如下图所示。
5、接着点击!按钮,执行程序,如下图所示。
6、最后d出控制台,输出了A、B,成功输出了空格了,如下图所示就完成了。
这是我的一个 *** 作过程,可以参考看看(如有更好,也请贴出啊):
void CTestExcelDlg::OnButton2()
{
// TODO: Add your control notification handler code here
_Application ExcelApp;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
LPDISPATCH lpDisp = NULL;
//创建Excel 服务器(启动Excel)
if(!ExcelAppCreateDispatch(_T("ExcelApplication"),NULL))
{
AfxMessageBox(_T("启动Excel服务器失败!"));
return;
}
ExcelAppSetVisible(false);
ExcelAppSetUserControl(FALSE);
/得到工作簿容器/
booksAttachDispatch(ExcelAppGetWorkbooks());
/打开一个工作簿,如不存在,则新增一个工作簿/
CString strBookPath =_T("f:\\tmplxls");
try
{
/打开一个工作簿/
lpDisp = booksOpen(strBookPath,
vtMissing, vtMissing,vtMissing, vtMissing, vtMissing,
vtMissing, vtMissing,vtMissing, vtMissing, vtMissing,
vtMissing, vtMissing,vtMissing, vtMissing);
bookAttachDispatch(lpDisp);
}
catch()
{
/增加一个新的工作簿/
lpDisp = booksAdd(vtMissing);
bookAttachDispatch(lpDisp);
}
/得到工作簿中的Sheet的容器/
sheetsAttachDispatch(bookGetSheets());
/打开一个Sheet,如不存在,就新增一个Sheet/
CString strSheetName =_T("Sheet1");
try
{
/打开一个已有的Sheet/
lpDisp =sheetsGetItem(_variant_t(strSheetName));
sheetAttachDispatch(lpDisp);
}
catch()
{
/创建一个新的Sheet/
lpDisp = sheetsAdd(vtMissing, vtMissing, _variant_t((long)1), vtMissing);
sheetAttachDispatch(lpDisp);
sheetSetName(strSheetName);
}
/向Sheet中写入多个单元格,规模为430 /
lpDisp = sheetGetRange(_variant_t("C6"),_variant_t("F35"));
rangeAttachDispatch(lpDisp);
VARTYPE vt = VT_R4; /数组元素的类型,float/
SAFEARRAYBOUND sabWrite[2]; /用于定义数组的维数和下标的起始值/
sabWrite[0]cElements = 30;
sabWrite[0]lLbound = 0;
sabWrite[1]cElements = 4;
sabWrite[1]lLbound = 0;
COleSafeArray olesaWrite;
olesaWriteCreate(vt, sizeof(sabWrite)/sizeof(SAFEARRAYBOUND), sabWrite);
/通过指向数组的指针来对二维数组的元素进行间接赋值/
float (pArray)[2]= NULL;
olesaWriteAccessData((void )&pArray);
memset(pArray, 0, sabWrite[0]cElements sabWrite[1]cElements sizeof(float));
/释放指向数组的指针/
olesaWriteUnaccessData();
pArray = NULL;
/对二维数组的元素进行逐个赋值/
long index[2]= {0, 0};
long lFirstLBound = 0;
long lFirstUBound = 0;
long lSecondLBound = 0;
long lSecondUBound = 0;
olesaWriteGetLBound(1, &lFirstLBound);
olesaWriteGetUBound(1, &lFirstUBound);
olesaWriteGetLBound(2, &lSecondLBound);
olesaWriteGetUBound(2, &lSecondUBound);
long i = 0;
for (i = lFirstLBound;i <= lFirstUBound; i++)
{
index[0] = i;
for (long j =lSecondLBound; j <= lSecondUBound; j++)
{
index[1] = j;
float lElement = (float)(i sabWrite[1]cElements + j);
olesaWritePutElement(index, &lElement);
}
}
/把ColesaWritefeArray变量转换为VARIANT,并写入到Excel表格中/
VARIANT varWrite = (VARIANT)olesaWrite;
rangeSetValue2(varWrite);
rangeSetNumberFormatLocal(COleVariant("000"));
/根据文件的后缀名选择保存文件的格式/
//CString strSaveAsName = _T("C:\\ewxls");
//CString strSuffix = strSaveAsNameMid(strSaveAsNameReverseFind(_T('')));
//XlFileFormat NewFileFormat = xlOpenXMLWorkbook;
////Excel::XlFileFormat NewFileFormat = xlWorkbookNormal;
//if (0 ==strSuffixCompareNoCase(_T("xls")))
//{
// NewFileFormat= xlExcel8;
//}
//bookSaveAs(_variant_t(strSaveAsName), _variant_t((long)NewFileFormat),vtMissing, vtMissing, vtMissing,
// vtMissing, 0, vtMissing, vtMissing, vtMissing,
// vtMissing, vtMissing);
bookSave();
/释放资源/
sheetReleaseDispatch();
sheetsReleaseDispatch();
bookReleaseDispatch();
booksReleaseDispatch();
ExcelAppQuit();
ExcelAppReleaseDispatch();
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)