最近研究了题目中的问题:

bool Parse2Dcms(std::string infilePath, std::string output_path)
{if (!this->filepath.length()){cout << "No No parent dcm filepath! error" << endl;return false;}DcmFileFormat fileformat;OFCondition oc = fileformat.loadFile(this->filepath.c_str());              //读取Dicom图像  if (!oc.good())     //判断Dicom文件是否读取成功  {std::cout << "file Load error" << std::endl;return false;}/*               dicom  meta infomation            */DcmMetaInfo* metainfo =  fileformat.getMetaInfo();OFString FMIG;metainfo->findAndGetOFString(DCM_FileMetaInformationGroupLength, FMIG);OFString strVersion;metainfo->findAndGetOFString(DCM_FileMetaInformationVersion, strVersion);OFString strMSSOPClassUID;metainfo->findAndGetOFString(DCM_MediaStorageSOPClassUID, strMSSOPClassUID);OFString strMMSOPIUID;metainfo->findAndGetOFString(DCM_MediaStorageSOPInstanceUID, strMMSOPIUID);OFString strTransferSyntax;metainfo->findAndGetOFString(DCM_TransferSyntaxUID, strTransferSyntax);OFString strImpUID;metainfo->findAndGetOFString(DCM_ImplementationClassUID, strImpUID);OFString strImpVerName;metainfo->findAndGetOFString(DCM_ImplementationVersionName, strImpVerName);/*      dicom dataset infomation */DcmDataset *dataset = fileformat.getDataset();                             //得到Dicom的数据集  E_TransferSyntax xfer = dataset->getOriginalXfer();                        //得到传输语法 unsigned short img_bits(0);dataset->findAndGetUint16(DCM_SamplesPerPixel, img_bits);                    //单个像素占用多少byte unsigned short bit_count(0);dataset->findAndGetUint16(DCM_BitsStored, bit_count);                        //获取像素的位数 bit OFString isRGB;dataset->findAndGetOFString(DCM_PhotometricInterpretation, isRGB);           //DCM图片的图像模式  OFString strPrimaryAngle;dataset->findAndGetOFStringArray(DCM_PositionerPrimaryAngleIncrement, strPrimaryAngle);std::string tagValue = strPrimaryAngle.c_str();while (true){size_t nPos = tagValue.find('\\');if (std::string::npos != nPos) {vAngles.emplace_back(atof(tagValue.substr(0, nPos).c_str()));tagValue = tagValue.substr(nPos + 1, tagValue.length());}else {vAngles.emplace_back(atof(tagValue.c_str()));break;}}  //end while//0008OFString strSChSet;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0005), strSChSet);OFString strImageType;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0008), strImageType);OFString strUniqueID;dataset->findAndGetOFString(DcmTagKey(0x0008,0x0016), strUniqueID);OFString strSOPInstanceUID;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0018), strSOPInstanceUID);OFString strStudyDate;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0020), strStudyDate);OFString strSeriesDate;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0021), strSeriesDate);OFString strContentDate;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0023), strContentDate);OFString strAcquisitionDateTime;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x002a), strAcquisitionDateTime);OFString strStudyTime;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0030), strStudyTime);OFString strSeriesTime;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0031), strSeriesTime);OFString strContentTime;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0033), strContentTime);OFString strAccessionNumber;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0050), strAccessionNumber);OFString strModality;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0060), strModality);OFString strManufacturer;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0070), strManufacturer);OFString strInstitutionName;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0080), strInstitutionName);OFString strReferringPhysicianName;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x0090), strReferringPhysicianName);OFString strStationName;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1010), strStationName);OFString strStudyDescription;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1030), strStudyDescription);OFString strSeriesDescription;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x103e), strSeriesDescription);OFString strPerformingPhysicianName;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1050), strPerformingPhysicianName);OFString strManufacturerModelName;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1090), strManufacturerModelName);OFString strReferencedStudySequence;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1110), strReferencedStudySequence);OFString strReferencedSOPClassUID;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1150), strReferencedSOPClassUID);OFString strReferencedSOPInstanceUID;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1155), strReferencedSOPInstanceUID);OFString strReferencedPerformedProcedureStepSequence;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x1111), strReferencedPerformedProcedureStepSequence);OFString strStartTrim;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x2142), strStartTrim);OFString strStopTrim;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x2143), strStopTrim);OFString strPatientIdentityRemoved;dataset->findAndGetOFString(DcmTagKey(0x0012, 0x0062), strPatientIdentityRemoved);OFString strIrradiationEventUID;dataset->findAndGetOFString(DcmTagKey(0x0008, 0x3010), strIrradiationEventUID);//0010OFString strPatientName;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x0010), strPatientName);OFString strPatientID;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x0020), strPatientID);OFString strIssuerOfPatientID;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x0021), strIssuerOfPatientID);OFString strPatientBirthDate;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x0030), strPatientBirthDate);OFString strPatientSex;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x0040), strPatientSex);OFString strPatientSize;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x1020), strPatientSize);OFString strPatientWeight;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x1030), strPatientWeight);OFString strPatientComments;dataset->findAndGetOFString(DcmTagKey(0x0010, 0x4000), strPatientComments);//0018OFString strImageAndFluoros;dataset->findAndGetOFString(DcmTagKey(0x0018,0x115e), strImageAndFluoros);OFString strImagePixelSpace;dataset->findAndGetOFStringArray(DcmTagKey(0x0018,0x1164), strImagePixelSpace);OFString strPositionMotion;dataset->findAndGetOFString(DcmTagKey(0x0018,0x1500), strPositionMotion);OFString strPositionPrimaryAngle;OFString strPositionSecondAngle;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1510), strPositionPrimaryAngle);dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1511), strPositionSecondAngle);OFString strContrastBolus;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x0010),strContrastBolus);OFString strPartExamed;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x0015), strPartExamed);OFString strCineRate;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x0040), strCineRate);OFString strKVP;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x0060), strKVP);OFString strDeviceSerialNumber;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1000), strDeviceSerialNumber);OFString strSoftwareVer;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1020), strSoftwareVer);OFString strProtocolName;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1030), strProtocolName);OFString strDistanceToDetector;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1110), strDistanceToDetector);OFString strDistanceToPatient;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1111), strDistanceToPatient);OFString strExposureTime;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1150), strExposureTime);OFString strXRayTube;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1151), strXRayTube);OFString strRadiation;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x1155), strRadiation);OFString strRadiationMode;dataset->findAndGetOFString(DcmTagKey(0x0018, 0x115a), strRadiationMode);//0020OFString strStudyInstanceUID;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x000d), strStudyInstanceUID);OFString strSeriesInstanceUID;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x000e), strSeriesInstanceUID);OFString strStudyID;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x0010), strStudyID);OFString strSeriesNumber;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x0011), strSeriesNumber);OFString strAcquisitionNumber;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x0012), strAcquisitionNumber);OFString strInstanceNumber;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x0013), strInstanceNumber);OFString strPatientOrientation;dataset->findAndGetOFStringArray(DcmTagKey(0x0020, 0x0020), strPatientOrientation);OFString strImagePositionPatient;dataset->findAndGetOFStringArray(DcmTagKey(0x0020, 0x0032), strImagePositionPatient);OFString strLaterality;dataset->findAndGetOFString(DcmTagKey(0x0020, 0x0060), strLaterality);//0028OFString strPixelSpacing;dataset->findAndGetOFStringArray(DcmTagKey(0x0028, 0x0030), strPixelSpacing);unsigned short bitsAllocated(0);dataset->findAndGetUint16(DcmTagKey(0x0028, 0x0100), bitsAllocated);unsigned short bitsStored(0);dataset->findAndGetUint16(DcmTagKey(0x0028, 0x0101), bitsStored);unsigned short hightBit(0);dataset->findAndGetUint16(DcmTagKey(0x0028, 0x0102), hightBit);unsigned short pixelRep(0);dataset->findAndGetUint16(DcmTagKey(0x0028, 0x0103), pixelRep);OFString strPixelRelationShip;dataset->findAndGetOFString(DcmTagKey(0x0028, 0x1040), strPixelRelationShip);OFString strWC;dataset->findAndGetOFString(DcmTagKey(0x0028, 0x1050), strWC);OFString strWW;dataset->findAndGetOFString(DcmTagKey(0x0028, 0x1051), strWW);OFString strFrameIncrementPointer;dataset->findAndGetOFString(DcmTagKey(0x0028, 0x0009), strFrameIncrementPointer);//0040OFString strPerformedProcedureStepStartDate;dataset->findAndGetOFString(DcmTagKey(0x0040, 0x0244), strPerformedProcedureStepStartDate);OFString strPerformedProcedureStepStartTime;dataset->findAndGetOFString(DcmTagKey(0x0040, 0x0245), strPerformedProcedureStepStartTime);OFString strPerformedProcedureStepID;dataset->findAndGetOFString(DcmTagKey(0x0040, 0x0253), strPerformedProcedureStepID);OFString strPerformedProcedureStepDescription;dataset->findAndGetOFString(DcmTagKey(0x0040, 0x0254), strPerformedProcedureStepDescription);unsigned short m_width;                                                     //获取图像的窗宽高  unsigned short m_height;OFString framecount;//DCM_MinimumStoredValueMapped  // DCM_MaximumStoredValueMapped  dataset->findAndGetOFString(DCM_NumberOfFrames, framecount);             //DCM图片的帧数  unsigned short number = atoi(framecount.c_str());dataset->findAndGetUint16(DCM_Rows, m_height);dataset->findAndGetUint16(DCM_Columns, m_width);int rows(m_height);int cols(m_width);const int length(rows*cols*2);Uint16* img_pixel = new Uint16[length];DicomImage* m_pDicomImage = new DicomImage("文件名", CIF_UsePartialAccessToPixelData, 0, 1);if (m_pDicomImage == NULL)throw "Open DICOM File failed";double min = 0, max = 0;m_pDicomImage->getMinMaxValues(min, max);unsigned long FrameCnt = m_pDicomImage->getFrameCount();unsigned long indexFirstFrame = m_pDicomImage->getFirstFrame();//DcmElement* element = NULL;OFCondition result = dataset->findAndGetElement(DCM_PixelData, element); //获取图像数据  if (result.bad() || element == NULL)return false;Uint16* image16_data = nullptr;result = element->getUint16Array(image16_data);      //获取>8位的图像数据  do{DcmFileFormat *fileFormat = new DcmFileFormat();DcmDataset *dataSet = fileFormat->getDataset();DcmMetaInfo* metaInfo = fileformat.getMetaInfo();memset(img_pixel, 0, length);//m_pDicomImage->getOutputData(img_pixel, length, Img_bitCount, indexFirstFrame);//const DiPixel* pixel = m_pDicomImage->getInterData();memcpy_s(img_pixel, length, image16_data + rows*cols*indexFirstFrame, length);//0x0002metaInfo->putAndInsertString(DCM_FileMetaInformationGroupLength, FMIG.c_str());metaInfo->putAndInsertString(DCM_FileMetaInformationVersion, strVersion.c_str());metaInfo->putAndInsertString(DCM_MediaStorageSOPClassUID, strMSSOPClassUID.c_str());metaInfo->putAndInsertString(DCM_MediaStorageSOPInstanceUID, strMMSOPIUID.c_str());metaInfo->putAndInsertString(DCM_TransferSyntaxUID, strTransferSyntax.c_str());metaInfo->putAndInsertString(DCM_ImplementationClassUID, strImpUID.c_str());metaInfo->putAndInsertString(DCM_ImplementationVersionName, strImpVerName.c_str());metaInfo->computeGroupLengthAndPadding(EGL_withGL, EPD_noChange, META_HEADER_DEFAULT_TRANSFERSYNTAX, EET_UndefinedLength);//0x0008dataSet->putAndInsertString(DCM_SpecificCharacterSet, strSChSet.c_str());dataSet->putAndInsertString(DCM_ImageType, strImageType.c_str());dataSet->putAndInsertString(DCM_SOPClassUID, strUniqueID.c_str());dataSet->putAndInsertString(DCM_SOPInstanceUID, strSOPInstanceUID.c_str());dataSet->putAndInsertString(DCM_StudyDate, strStudyDate.c_str());dataSet->putAndInsertString(DCM_SeriesDate, strSeriesDate.c_str());dataSet->putAndInsertString(DCM_ContentDate, strContentDate.c_str());dataSet->putAndInsertString(DCM_AcquisitionDateTime, strAcquisitionDateTime.c_str());dataSet->putAndInsertString(DCM_StudyTime, strStudyTime.c_str());dataSet->putAndInsertString(DCM_SeriesTime, strSeriesTime.c_str());dataSet->putAndInsertString(DCM_ContentTime, strContentTime.c_str());dataSet->putAndInsertString(DCM_AccessionNumber, strAccessionNumber.c_str());dataSet->putAndInsertString(DCM_Modality, strModality.c_str());dataSet->putAndInsertString(DCM_Manufacturer, strManufacturer.c_str());dataSet->putAndInsertString(DCM_InstitutionName, strInstitutionName.c_str());dataSet->putAndInsertString(DCM_ReferringPhysicianName, strReferringPhysicianName.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1010), strStationName.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1030), strStudyDescription.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x103e), strSeriesDescription.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1050), strPerformingPhysicianName.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1090), strManufacturerModelName.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1110), strReferencedStudySequence.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1150), strReferencedSOPClassUID.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1155), strReferencedSOPInstanceUID.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x1111), strReferencedPerformedProcedureStepSequence.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x2142), strStartTrim.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x2143), strStopTrim.c_str());dataSet->putAndInsertString(DcmTagKey(0x0012, 0x0062), strPatientIdentityRemoved.c_str());dataSet->putAndInsertString(DcmTagKey(0x0008, 0x3010), strIrradiationEventUID.c_str());//0010dataSet->putAndInsertString(DcmTagKey(0x0010, 0x0010), strPatientName.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x0020), strPatientID.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x0021), strIssuerOfPatientID.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x0030), strPatientBirthDate.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x0040), strPatientSex.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x1020), strPatientSize.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x1030), strPatientWeight.c_str());dataSet->putAndInsertString(DcmTagKey(0x0010, 0x4000), strPatientComments.c_str());//0x0020dataSet->putAndInsertString(DcmTagKey(0x0020, 0x000d), strStudyInstanceUID.c_str(),true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x000e), strSeriesInstanceUID.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0010), strStudyID.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0011), strSeriesNumber.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0012), strAcquisitionNumber.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0013), strInstanceNumber.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0020), strPatientOrientation.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0032), strImagePositionPatient.c_str(), true);dataSet->putAndInsertString(DcmTagKey(0x0020, 0x0060), strLaterality.c_str(), true);//0x0018dataSet->putAndInsertString(DCM_ImageAndFluoroscopyAreaDoseProduct, strImageAndFluoros.c_str(), true);dataSet->putAndInsertString(DCM_ImagerPixelSpacing, strImagePixelSpace.c_str(), true);dataSet->putAndInsertString(DCM_PositionerMotion, strPositionMotion.c_str(), true);dataSet->putAndInsertString(DCM_PositionerPrimaryAngle, strPositionPrimaryAngle.c_str(), true);dataSet->putAndInsertString(DCM_PositionerSecondaryAngle, strPositionSecondAngle.c_str(), true);dataSet->putAndInsertString(DCM_PositionerPrimaryAngleIncrement, std::to_string(vAngles[indexFirstFrame]).c_str());dataSet->putAndInsertString(DCM_ContrastBolusAgent, strContrastBolus.c_str(), true);dataSet->putAndInsertString(DCM_BodyPartExamined, strPartExamed.c_str(), true);dataSet->putAndInsertString(DCM_CineRate, strCineRate.c_str(), true);dataSet->putAndInsertString(DCM_KVP, strKVP.c_str(), true);dataSet->putAndInsertString(DCM_DeviceSerialNumber, strDeviceSerialNumber.c_str(), true);dataSet->putAndInsertString(DCM_SoftwareVersions, strSoftwareVer.c_str(), true);dataSet->putAndInsertString(DCM_ProtocolName, strProtocolName.c_str(), true);dataSet->putAndInsertString(DCM_DistanceSourceToDetector, strDistanceToDetector.c_str(), true);dataSet->putAndInsertString(DCM_DistanceSourceToPatient, strDistanceToPatient.c_str(), true);dataSet->putAndInsertString(DCM_ExposureTime, strExposureTime.c_str(), true);dataSet->putAndInsertString(DCM_XRayTubeCurrent, strXRayTube.c_str(), true);dataSet->putAndInsertString(DCM_RadiationSetting, strRadiation.c_str(), true);dataSet->putAndInsertString(DCM_RadiationMode, strRadiationMode.c_str(), true);//0x0028dataSet->putAndInsertUint16Array(DCM_PixelData, OFreinterpret_cast(Uint16*, img_pixel), length);dataSet->putAndInsertString(DCM_NumberOfFrames, "1");dataSet->putAndInsertUint16(DCM_Rows, rows);dataSet->putAndInsertUint16(DCM_Columns, cols);dataSet->putAndInsertUint16(DCM_SamplesPerPixel, img_bits);dataSet->putAndInsertUint16(DCM_BitsStored, bit_count);dataSet->putAndInsertUint16(DCM_BitsAllocated,bitsAllocated);dataSet->putAndInsertString(DcmTagKey(0x0028, 0x0009), strFrameIncrementPointer.c_str());dataSet->putAndInsertString(DCM_PixelSpacing, strPixelSpacing.c_str(), true);dataSet->putAndInsertUint16(DCM_HighBit, hightBit);dataSet->putAndInsertUint16(DCM_PixelRepresentation, pixelRep);dataSet->putAndInsertString(DCM_PixelIntensityRelationship, strPixelRelationShip.c_str(), true);dataSet->putAndInsertString(DCM_WindowCenter, strWC.c_str(), true);dataSet->putAndInsertString(DCM_WindowWidth, strWW.c_str(), true);//0x0040dataSet->putAndInsertString(DcmTagKey(0x0040, 0x0244), strPerformedProcedureStepStartDate.c_str());dataSet->putAndInsertString(DcmTagKey(0x0040, 0x0245), strPerformedProcedureStepStartTime.c_str());dataSet->putAndInsertString(DcmTagKey(0x0040, 0x0253), strPerformedProcedureStepID.c_str());dataSet->putAndInsertString(DcmTagKey(0x0040, 0x0254), strPerformedProcedureStepDescription.c_str());dataSet->putAndInsertString(DCM_PhotometricInterpretation, isRGB.c_str());//保存文件char t[10];string filename;sprintf_s(t, "%d", indexFirstFrame);filename = t;filename = output_path + filename + ".dcm";OFCondition status = fileFormat->saveFile(filename.c_str(), xfer);if (status.bad())cout << "Error: cannot write DICOM file (" << status.text() << ")" << endl;delete fileFormat;indexFirstFrame = m_pDicomImage->getFirstFrame();//this->ShowImage(filename);}while (m_pDicomImage->processNextFrames());delete[] img_pixel;return true;
}

其实DicomImage可以不用。这个怎么和DcmDataSet或DcmFileFormat联系起来,欢迎大家讨论。

单个dcm文件含有多帧数据,如何拆分成多个dcm文件相关推荐

  1. 批量将一个或多个 Word 文件按固定页数拆分成多个 Word 文件

    概要:我们经常面对很多 Word 文档,有些 Word 文档有几百页,有时候我们希望将这些 Word 文档都按固定的页数拆分成多个 Word 文档.有没有一种简单的方法能够批量的将这些 Word 文件 ...

  2. python拆分excel的sheet为单文件_WPS 2019 多个sheet表拆分成独立的excel文件

    参考: 场景:将多个sheet表拆分成独立的excel文件 一.安装VB工具: 默认情况下:wps -- 开发工具 --- VB 编辑器是灰选状态(即不可用状态),此时需要先安装vb工具:VBA Fo ...

  3. 批量将一个 PPT 幻灯片文件按固定页数拆分成多个幻灯片文件

    概要:对于经常写 PPT 的人来说,经常会与 PPT 幻灯片打交道.如果一个 PPT 幻灯片文件有很多页数,那么有没有办法能够将他们拆分成多个 PPT 幻灯片文件呢?这样每一个独立的 PPT 文件的页 ...

  4. python 列表多行_Python Pandas list列表数据列拆分成多行的方法实现

    1.实现的效果 示例代码: df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]}) df Out[458]: A B 0 1 [1, 2] 1 2 [1, 2] ...

  5. 怎么把一个PDF拆分成多个PDF文件?

    中午休息的时候同事问我:怎么把一个PDF拆分成多个PDF文件?PDF拆分很简单啊,办公都要用到PDF文件,想到这儿,小编就分享实用的方法. 1.在百度中去搜索关键词迅捷PDF在线转换器,点击进入在线网 ...

  6. print python excel分隔_办公自动化 Python 小工具,对Excel文件,按某一列拆分成多个Excel文件或sheet...

    使用pandas.xlwings.os 库文件,对Excel文件,按某一列拆分成多个Excel文件或sheet,提高工作效率. # -*- coding: utf-8 -*- "" ...

  7. Java如何把一个CSV文件拆分成指定个CSV文件【带源码,完美运行带截图】

    文章目录 一.前言 二.实现 1. 首先进行CSV文件读取,并且把文件组成list,把list拆分 2. 拆分的具体代码如下: 3. 导出到新CSV文件代码如下: 4.测试 5. 结果 一.前言 前段 ...

  8. sqlserver将mdf文件拆分成多个ndf文件

    sqlserver版本:2008R2 1.为什么要拆分 数据库在运行一段时间后mdf文件会迅速增大,这会导致查询速度变慢.或者mdf文件的大小达到了操作系统允许的最大大小,这个时间就必须要进行拆分了. ...

  9. 将excel按照某一列拆分成多个单独文件

    1.打开目标excel,按alt + f11键打开VBE窗口 2.选择插入->模块粘贴下面代码到编辑器中 代码: Sub 保留表头拆分数据为若干新工作簿()Dim arr, d As Objec ...

  10. excel中多个sheet工作表拆分成独立的excel文件

    上篇说到将excel中的一个工作表按照某列拆分成多个sheet工作表,那么如何把excel中的多个sheet工作表拆分成一个一个独立的工作表呢?接下来就继续利用VBA工具来解决这个问题. 第一步:打开 ...

最新文章

  1. 5G NGC — ETSUN(I-SMF/I-UPF)拓扑增强
  2. sqlserver 事务例子
  3. oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别
  4. Java @SafeVarargs注解
  5. php连接mysql数据库失败_PHP远程连接MySQL数据库失败之原因
  6. android exittext记事本,GUI练习——记事本
  7. Servlet、Struts2以及SpringMvc中的线程安全
  8. OpenShift 4 - 安装3Scale API Management环境
  9. 那些年我们清除过的浮动
  10. 《Java核心技术卷一》学习笔记(一)
  11. 3.配置阿里云镜像加速
  12. CSR是什么样的公司?CSR蓝牙芯片有何过人之处?
  13. 摊销本月技术支持部服务器运维成本会计分录,摊销本月报刊费会计分录_摊销本月报刊费_摊销报刊费的会计分录...
  14. HBuilder创建App并打包发布
  15. Vue3 理解 toRef 和 toRefs 的作用、用法、区别
  16. 为什么微信连接不上服务器失败怎么回事啊,微信为什么一直提示连接失败请检查网络设置...
  17. 彩色宝石项链C/C++解决
  18. 如何在不越狱的情况下,获取app中的所有常用文件和文件夹
  19. 跨平台SCADA系统(组态软件)开发1
  20. iOS 添加ttf字体

热门文章

  1. linux图片处理软件,Ubuntu 下图像处理软件汇总
  2. centos本地yum源配置
  3. 夏普Sharp MX-M2658N 一体机驱动
  4. 谷歌浏览器上传下载奔溃问题解决方法
  5. {最强实用}手机衩偷了,可以用这招轻易取回来(值得学习)
  6. 大米云主机nodejs服务部署
  7. IP地址作用与分类(A类 B类 C类 D类 E类)
  8. 【WinMTR】Windows上winmtr的安装使用方法
  9. 用 MQL5 连接 EA 交易程序和 ICQ
  10. 已知高维高斯联合概率分布求边缘概率分布以及条件概率分布